How to find Facebook group id by name - facebook

I have a Facebook application, which I would like to be able to read facebook group feeds.
I have a user-input feed url, that looks like this: http://www.facebook.com/groups/music.sharing/
To access the feed though, I can only use its id, like this: http://graph.facebook.com/[id of group]/feed
I cannot find anything for that in the reference, FQL doesn't allow querying by name so .. I'm stuck. Any ideas ?
Thanks!

Its not possible right now, there are multiple open "bugs" and another stating the issue...
All the ways I have tried have failed... e.g. (below would work for pages)
fql?q=select id from profile where username='music.sharing'

We are facing this same problem on our current project. It is not an elegant solution that uses the API, but for now we will be using a workaround by scraping the HTML of the group landing page. The group ID number appears four times on this page in the html via links. The most reliable way to search for the ID is to search for "cid=" as it only appears once (right now, anyway) on the page (what follows cid= is the numerical ID). You'll see what I mean when you examine the html of a group page.
If you found a more efficient solution, I'd be grateful if you shared :)

A possible alternative until bug resolution could be: if you are asking your users for permissions then you can ask for the additional permission, user_groups, and then query graph api http://graph.facebook.com/[id of user]/groups. The returned data has group name, id, version, bookmark_order.

Related

How to programmatically build a reliable URL to Facebook entries (posts, comments, etc)

I notices that if you grab the post_id, parent_id, or comment_id that the Facebook APIs return (both the Graph API and the old one) and build the URL like this:
https://facebook.com/{$comment_id}
which will look something like this:
https://facebook.com/1120222941346063_1783629701671357
Facebook will automatically determine what entry that is, and link you directly to it, scrolling down to the exact entry and highlighting it in orange, just if you had given it the exact URL for that entry (something like: https://facebook.com/{$page_id}/posts/{$post_id}?comment_id={$comment_id}).
My question is: is using those ID codes to build URLs as in the first example a reliable way to do it? Will it work for all entries or are there unexpected effects I might encounter?
In all my tests it always worked, but I didn't find anything in the official documentation or in other SO questions.

(#371) Some subcategories don't represent a place

I'm getting this error when sending some place_topics on an update request to the Facebook Graph API for a given Facebook Location Page.
{"error"=>{"message"=>"(#371) Some subcategories don't represent a place.", "type"=>"OAuthException", "code"=>371, "error_subcode"=>1721087, "fbtrace_id"=>"CIewiBZL+jf"}}
It is fixed by changing the category_id for another one. BTW, I would like to know if is there a way of knowing which categories are allowed and which ones doesn't. It would be nice to know it in advance to disallow some of the Facebook Categories in the editing process of our tool and avoid errors.
Thanks,
David.
Use search?type=placetopic&topic_filter=all in graph explorer to get list of valid place topics

How to find posts of a facebook page within a certain period of time?

I want to import posts of a page between 07-12-2017 and 10-12-2017.
I have converted the dates to unix timestamps.
https://graph.facebook.com/v2.11/ekantipur?fields=posts.until(1512926148).limit(125)&access_token=MyAccessToken
works and so does
https://graph.facebook.com/v2.11/ekantipur?fields=posts.since(1512666948).limit(125)&access_token=MyAccessToken
But since and until together does not work. It only shows a single id.
Is there an another way to accomplish this task? If yes please reply. Thankyou in advance.
Update here is my updated Url with since and until. Its still not working.
123456/posts?since=07-12-2017&until=10-12-2017
Can you update the original post with your combined Since and Until?
I'm assuming that the SINCE is set to 7/17 and the UNTIL is 10/17, correct? It looks that way from the converted numbers, but I try not to assume it isn't something small like that :). No offense intended.
Looking at the graph API, I am using the page id of one I am the admin of and using since and until and it's coming back with posts between 07-12-2017 and 10-12-2017. I'm wondering if it has something to do with the limit in your urls. What if the limit statements are narrowing things down too much?
I'm just putting this into the graph API and getting the results I'm expecting: (no, my page id isn't 123456)
Granted, I'm not calling it in a url, Graph API is pretty forgiving.

Tab links using only the page and app_id has stopped working, is there an alternative beyond querying Facebook each time?

A few days ago these type of links worked: http://www.facebook.com/pages/132456789?sk=app_132465798465 but now they give 404's.
The alternative is link to the namespace of the page like so: http://www.facebook.com/pages/foo/1456798324564?sk=app_134654689794 however to find out the link I'd need to ask Facebook for it, and it seem like since the namespace can change I can't just ask for it once.
Is there another way to use page and app id's to link to tabs without needing the roundtrip to Facebook?
I don't think that first format was ever used on Facebook, i'm surprised it worked.
As far as I can tell the 'name' part of a page URL is arbitrary, so just filling in something there will work, e.g.
http://www.facebook.com/pages/Tea/194040780316?sk=info
will also work as
http://www.facebook.com/pages/some_random_text/194040780316?sk=info

Fetch a group object with Graph API using group alias?

How can i fetch data with group page alias ?
Take for example this group: http://www.facebook.com/groups/toroneradio/.
Making request to https://graph.facebook.com/toroneradio gives me back:
"message": "(#803) Some of the aliases you requested do not exist: toroneradio"
Making request to the graph API with the group's id: https://graph.facebook.com/173246339390721 works OK.
It works great for pages though.
Looked at FQL groups table but name is not searchable. (FQL Groups table)
Also looked for some documentation and in FB bugtracking, couldn't find anything.
Is there way to get programaticly the group id from group alias or directly to get Group graph object?
Thanks, in advance!
The Easy Way
If you haven't done so, join the Facebook group which you want to fetch the group ID
Use the Facebook Graph API explorer
Access your list of groups via http://graph.facebook.com/me/groups
Search for the group and the ID will be listed in the object
If you are doing it through your Facebook application, all you need is to grab an FB access token before you do the FB Graph API call (read up the documentation here, especially the Authorization section)
The Hard Way
In case the easy way doesn't work (or if you feel iffy in joining the group), here's the sure-fire way to do so:
Start up Firebug and enable the "Net" tab
Bring up Facebook - check that the Net panl will show all the HTTP requests that's happening
Click the "Clear" button so that you have the panel in the blank slate
Click on the link of the Facebook group that you wanted to retrieve the Facebook ID
Look out for a GET request to generic.php - that would be the very first request, but hunt it down if it's not. Click on the [+] box to expand the details
Click on the "Parameters" tab and you'd see a key-value dictionary of the request. There'll be two fields in there called "key" and "sk", both of which would carry the same value like "group_1656399367890"
The group's ID will be the numeric value after "group_" (in this case, it'll be 1656399367890)
Hope that helps!
By using FQL:
SELECT id FROM profile WHERE username='groupname' AND type='group'
Just figured this out! Do this: http://graph.facebook.com/search?q=[ALIAS]&type=group