I'm using the facebook graph API to search for all public business within a certain range based on location. I want to return some extra fields, specifically the 'hours of business' but can't see how I can do this?
`search?q=&type=place¢er=-33.8650,151.2094&distance=5000'
I realize you can add extra fields in the graph API tool but that is only for things that you have a connection to. Whereas I want to query all 'public' businesses therefore it looks like I'm restricted to use the search functionality
You can use the fields parameter to specify fields you want to see... search?q=&type=place¢er=-33.8650,151.2094&distance=5000&fields=hours
Related
I was wondering if there's a method to specify certain values of for instance "story" or "name" field when doing a request to the facebook graph. What I'm looking for is something like the following:
/{id}/feed?q={bla}&type={story}
Where I want to check a specific person/page's feed on a certain string of text within each story returned.
Hope you can help me out.
No, that is not possible.
Filtering and searching capabilities of the Graph API are very rudimentary.
When any endpoints support additional parameters of that sort, it is usually mentioned in the documentation.
But there is no way to filter a person’s or page’s feed for specific story types and message contents.
I am attempting to export a list of URLS all Facebook groups and pages relevant to a search query.
At present, if I search the term ("parents") in the search bar on Facebook, the drop down list is populated, but I cannot find a way to capture these links, and to do so at a large scale (given that there are thousands of groups/pages which include the term "parents")
You can't do that and should not do that. See also the Automated Data Collection Terms. It's not allowed by Facebook.
I want to retrieve a list of upcoming public events in my hometown from the Facebook Graph API.
I already know that FQL is deprecated and that I can query by keywords using a statement similar to
/v2.2/search?type=event&q=Berlin&since=2015-01-27
However, this list is not enough because there are lots of events which do not contain the City Name either in the event title, description or Location name.
On the other hand I can retrieve a list of places within the same City by using
/v2.2/search?type=place&since=2015-01-27¢er=52.52,13.41&distance=10000
In my assumption I could retrieve a better event list if I create a query stating "give me all public events (eid) of all given places within this city in a specified distance".
Does anybody know if this is somehow possible to query?
I am unsure if batch processing is the right way to go, or if there is another possibility to Combine These two entities. My simple Approach would be to query each given Place again by requesting
/v2.2/{placeid}/events
but I also know that Facebook has a rate Limit of 50 requests in this case.
Right now Facebook doesn't have a way to do what you want or at least not documented.
The only way I think you could it is:
1- Find with the facebook API the pages in one city. (You can do do this manually or search for places near the city and then use the places that also ara pages)
2- Get the events of the pages (if exists) and save this in a db also with the location of the place/page.
3- Show all the events of the city.
Our app uses the Google Analytics Rest API. We'd like to get the number of page views generated by different links to the site.
For example, one link to our site might be:
http://oursite.com?linknum=12345
and another might be:
http://oursite.com?linknum=23456
We'd like to track the number of page views by all visitors who click on each link, so we need a way to filter by parameter.
So far, we just get the number of page views for all visitors without any filters:
curl 'https://www.googleapis.com/analytics/v3/data/ga?ids=ga:(our id) &metrics=ga:pageviews&start-date=2014-4-26&end-date=2011-12-08&access_token=(our access token)'
The best way to learn the API is to use the query explorer at
http://ga-dev-tools.appspot.com/explorer/
For your analysis, add dimension=ga:pagePath and sort=ga:pageviews.
In addition, you could ask for pages which match a filter expression.
For example filter=ga:pagePath=#linknum to only include pages with linknum.
I'm trying to integrate the Facebook comments left on our site in a way in which the content can be crawled by search engines and also for people (although I highly doubt there will be many) who don't have Javascript enabled on their browser.
Currently our Facebook comments are displayed via the use of the Facebook comment social plugin (using the <fb:comments href="MY_URL" num_posts="50" width="665"></fb:comments> tag). This ends up rendering an iFrame (which are mostly ignored by search engine crawlers) so the plan is to render this information and format it with basic HTML. To do this, the comments are pulled using the Graph API - this is then only be displayed to crawlers and people with Javascript disabled.
This all works nicely using the Graph API call (https://graph.facebook.com/comments/?ids=MY_URL), parsing the JSON result and displaying it on the page. The problem is that the <fb:comments> approach filters our results based on a blacklist we have set up on one of our Facebook Apps. The AppId with the relevant blacklist is stored on the page using metadata (<meta property="fb:app_id" content="APP_ID"/>) which the <fb:comments> control obviously must somehow use to filter the comments.
The problem is the Graph API method does not filter any results as I guess no blacklist (or App Id containing a blacklist) is specified. Does anyone know how to specify a Facebook App ID to the API call URL or of another way to not fetch commnents back that violate the terms of the blacklist?
On a side note, I know the debate about filtering content in comments rages on but it is a management decision to implement the blacklist, and one that I have no influence in changing - just incase anyone felt the need to explain the reasons why content filtering is or isn't a good idea!
Any thoughts on a solution?
Unfortunately there's no way to access a filtered list of comments using the API - it might be a reasonably request to have this in the API - you should file a wishlist item in Facebook's bug tracker
Otherwise, the only solution I can think of is to implement your own filter on your side when retrieving and displaying the comments from the API.
According to the Comments plugin documentation the filter on Facebook's side is implemented as a simple substring match, so it should be trivial to implement.
A fairly simple regular expression match should be able to check each comment against a relatively long list quickly.
(Unfortunately, the tradeoff here is that implementing a filter is easy, but you'd also need to write an interface so that whoever's updating the list of disallowed words can maintain the list for both the Facebook plugin, and your own filtering.)
Quote from docs:
The comment is checked via substring matching. This means if you blacklist the
word 'at', if the comment contains the sequence 'a' 't' anywhere it will be
marked with limited visibility; e.g. if the comment contained the words 'bat',
'hat', 'attend', etc it would be caught.
Pretty sure there is no current way of doing this from the graph API, the only thing I can suggest is taking the blacklist and build your own filter