Facebook Graph API and friend's email
There are some question on the StackOverflow about facebook & email, but after reading them I still have a problem with retrieving users emails.
Our app implemented on Flex and uses REST API. And previously it used notifications.sendEmail. App has publish_stream and email permissions (checked with users.hasAppPermission).
I tried users.getInfo for get proxied_email address. But this function does not return email address of the friend..
Then I performed the following test using Graph API and web browser:
- Opened the following link for authorization with extended permissions:
It returned code for retrieving access_token
- Oppened the following link for retrieving access_token
It returned access_token. And now I can use GraphAPI.
- Tested with my account
Ok. It returned my emal.
- Tested with my friend
And here is no email field!
So my questions are
Where did I go wrong? Is it possible to get friend's email via Facebook API (GraphAPI or REST API)?
Email permission gives access to your email only.
If you look at the extended permissions page it says:
Likewise, to protect the privacy of users who have not explicitly authorized your application, your application will only be able to access the basic profile information about a user's friends, like their names and profile pictures. If your application needs to access other data about a user's friends to enable social functionality, you will need to request some of the special friends permissions listed below.
And if you look at the table below, it says "not available" for email permission for friends.
there ought to be some way else how does JanRain does it? http://www.janrain.com/products/engage/invite-friends
I think that getting friends' email ids is not permitted by Facebook; at least, that's what my research tells me. @helloworld: Who told you that janrain gets users' friends' email ids?
Only with the extended permission you can specify via the scope attribute, when obtaining the access token
https://graph.facebook.com/oauth/authorize? client_id=...& redirect_uri=http://www.example.com/callback& scope=email