Search code examples
facebookfacebook-graph-api

Facebook Graph API - Get ID from Facebook Page URL


I have seen this question but what I want is different.

I want to get the Facebook ID not from a general URL (and therefore conditional if it has Like button or not). I want to get the Facebook ID given a Facebook page using the Graph API.

Notice that Facebook pages can have several formats, such as:

http://www.facebook.com/my_page_name
http://www.facebook.com/pages/my_page_name
http://www.facebook.com/my_page_ID

I know I could do some regex to get either the my_page name or my_page_ID, but I am wondering if any one know if GraphAPI is supporting what I want.


Solution

  • It seems to me that the easiest solution to what you describe is to just get the id/name from the url you have using lastIndexOf("/") (which most languages have an equivalent for) and then get "https://graph.facebook.com/" + id.

    The data that this url returns has the id (i.e.: 6708787004) and the username (i.e.: southpark), so regardless of which identifier you use (what you extract from the url using lastIndexOf), you should get the same result.


    Edit

    This code:

    identifier = url.substring(url.lastIndexOf("/"))
    graphUrl = "https://graph.facebook.com/" + identifier
    urlJsonData = getGraphData(graphUrl)
    

    Should work the same (that is result with the same data) for both:

    url = http://www.facebook.com/southpark
    

    And

    url = http://www.facebook.com/6708787004
    

    (you'll obviously need to implement the getGraphData method).

    Also, the 2nd url form in the question is not a valid url for pages, at least not from my tests, I get:

    You may have clicked an expired link or mistyped the address. Some web addresses are case sensitive.