As stated in the API docs for /user
, the link
field contains the user's profile URL. However, this URL commonly redirects to a different URL (i.e. the one that shows up in Google results).
Is there any way to determine the final redirect location (the "real" URL) of a given profile via the Facebook API?
For example, given:
"link":"https://www.facebook.com/1091552020"
I want to retrieve https://www.facebook.com/sbhutiani
from the API
It looks like Facebook has created a separate permission (which user needs to approve) called
user_link
for you to be able to fetch that. You can see more details here: https://developers.facebook.com/docs/facebook-login/permissions/#reference-user_linkWhen you query metadata about available fields for the endpoint using
/me?metadata=1
this is what thelink
description says:If user has approved that permission, you will be able to fetch the link as before:
You can´t get the real ID or the username of users anymore, so there is no way to get the "real URL". More information: https://developers.facebook.com/docs/apps/changelog
You can get a link to the user profile with the following API call though:
/me?fields=link
Check out "App Scoped IDs" in the Facebook docs.
Update: It seems that linking to the user profile is not possible anymore: https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/