Reputation: 133
I have a fair amount of Facebook development experience, but this had made me pull my hair. It must be something very small, but I can't get it. I recently saw some Facebook pages with welcome tabs that show user's name "Welcome [YOUR NAME]" who visits their page. Example is here:
https://www.facebook.com/Tony.Samaha.Official.Page
As per my knowledge, we cannot get the user id without the permissions by the user. After the permissions we are able to get the user id in the signed request. How do I get the Facebook user id or name, something similar to the above example? How is this working? Can this be achieved?
FYI: I am using iframe tab.
Upvotes: 0
Views: 4026
Reputation: 9658
The user is still using the old static FBML application, so most likely they are using the fb:name
tag. Though, I believe this is now deprecated. So really, the page you linked to needs to be updated.
Upvotes: 2
Reputation: 48006
Check out the documentation on signed_requests. When a user visits your application there will be a signed_request
posted to your URL. The documentation states :
- A signed_request is passed to Apps on Facebook.com when they are loaded into the Facebook environment
- A signed_request is passed to any app that has registered an Deauthorized Callback in the Developer App whenever a given user removes the app using the App Dashboard
- A signed_request is passed to apps that use the Registration Plugin whenever a user successfully registers with their app
You will have to decode this request (see the link above for details) and from there you will be able to extract the user_id of the visiting user. Then all you have to do is query the Graph API like this :
https://graph.facebook.com/USER_ID
and you will get back the public information for that user which should include the users name.
Upvotes: 3