StackOverflow上有一些关于facebook& amp;电子邮件,但阅读后我仍然遇到检索用户电子邮件的问题。
我们的应用程序在Flex上实现并使用REST API。之前它使用了notifications.sendEmail。 应用程序具有publish_stream和电子邮件权限(使用users.hasAppPermission进行检查)。
我尝试使用users.getInfo获取proxied_email地址。 但是这个功能不会返回朋友的电子邮件地址..
然后我使用Graph API和Web浏览器执行了以下测试:
https://graph.facebook.com/oauth/authorize?client_id= [APP_ID]&安培;范围= publish_stream,offline_access,电子邮件&安培; REDIRECT_URI = HTTP://www.facebook.com/connect/login_success.html < / p>
它返回了用于检索access_token
的代码
graph.facebook.com/oauth/access_token?client_id= [APP_ID]&安培; client_secret = [秘密]&安培;代码= [代码]&安培; REDIRECT_URI = HTTP://www.facebook.com/connect/login_success。 HTML
它返回了access_token。现在我可以使用GraphAPI。
graph.facebook.com/me?access_token= [令牌]
确定。它返回了我的emal。
graph.facebook.com/ [friend_id] =的access_token [令牌]
这里没有电子邮件字段!
所以我的问题是
我哪里出错了? 是否可以通过Facebook API(GraphAPI或REST API)获取朋友的电子邮件?
感谢。
答案 0 :(得分:28)
电子邮件权限仅允许访问您的电子邮件。
如果您查看extended permissions页面,请说明:
同样,为了保护未明确授权您的应用程序的用户的隐私,您的应用程序将只能访问有关用户朋友的基本个人资料信息,例如他们的姓名和个人资料图片。如果您的应用程序需要访问有关用户朋友的其他数据以启用社交功能,则需要请求下面列出的一些特殊朋友权限。
如果您查看下表,则表示“不可用”以获取朋友的电子邮件许可。
答案 1 :(得分:0)
应该有一些方法JanRain如何做到这一点? http://www.janrain.com/products/engage/invite-friends
答案 2 :(得分:0)
我认为Facebook不允许获取朋友的电子邮件ID;至少,这就是我的研究告诉我的。 @helloworld:谁告诉你janrain得到了用户朋友的电子邮件ID?
答案 3 :(得分:-1)
只有扩展权限,您才能在获取访问令牌时通过范围属性指定
示例:强>
https://graph.facebook.com/oauth/authorize?
client_id=...&
redirect_uri=http://www.example.com/callback&
scope=email