Facebook Graph API - Get ID from Facebook Page URL

The answer to the question is posted above but the method shown below works fine we do not have to perform the regex on the facebook page urls

I got the answer by this method

FB.api('/any_fb_page_url', function(response){
  console.log(response);
}); 

any_fb_page_url can be any of the following types

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

This are also listed in question above

This code is tested on JS console available on Facebook Developers site tools


You can get the page id by using the below api

https://graph.facebook.com/v2.7/smhackapp?fields=id,name,fan_count,picture,is_verified&access_token=access_token&format=json

Reference image


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.