【问题标题】:Facebook Graph API and friend's emailFacebook Graph API 和朋友的电子邮件
【发布时间】:2011-04-22 19:31:09
【问题描述】:

StackOverflow 上有一些关于 facebook 和电子邮件的问题,但在阅读之后,我仍然无法检索用户的电子邮件。

我们的应用在 Flex 上实现并使用 REST API。以前它使用notifications.sendEmail。 应用具有 publish_stream 和电子邮件权限(通过 users.hasAppPermission 检查)。

我尝试 users.getInfo 来获取 proxied_email 地址。 但是这个函数不返回朋友的电子邮件地址..

然后我使用 Graph API 和网络浏览器进行了以下测试:

  1. 打开以下链接以获取具有扩展权限的授权:

    https://graph.facebook.com/oauth/authorize?client_id=[app_id]&scope=publish_stream,offline_access,email&redirect_uri=http://www.facebook.com/connect/login_success.html

它返回用于检索 access_token 的代码

  1. 打开以下链接以检索 access_token

graph.facebook.com/oauth/access_token?client_id=[app_id]&client_secret=[secret]&code=[code]&redirect_uri=http://www.facebook.com/connect/login_success.html

它返回了 access_token。现在我可以使用 GraphAPI。

  1. 用我的帐户测试

graph.facebook.com/me?access_token=[token]

好的。它返回了我的电子邮件。

  1. 和我的朋友一起测试过

    graph.facebook.com/[friend_id]?access_token=[token]

这里没有电子邮件字段!

所以我的问题是

我哪里做错了? 是否可以通过 Facebook API(GraphAPI 或 REST API)获取朋友的电子邮件?

谢谢。

【问题讨论】:

标签: apache-flex facebook


【解决方案1】:

电子邮件权限仅允许访问您的电子邮件。

如果您查看extended permissions 页面,它会显示:

同样,为了保护未明确授权您的应用程序的用户的隐私,您的应用程序将只能访问有关用户朋友的基本个人资料信息,例如他们的姓名和个人资料图片。如果您的应用程序需要访问有关用户朋友的其他数据以启用社交功能,您将需要请求下面列出的一些特殊朋友权限。

如果您查看下表,您会发现朋友的电子邮件权限“不可用”。

【讨论】:

  • 谢谢。现在很清楚了!没有办法得到朋友的电子邮件!去他妈的!
  • 你有没有找到其他方法来获取朋友的电子邮件?甚至正在寻找同样的东西。我们必须要求对 facebook 的任何附加权限吗??
【解决方案2】:

JanRain 应该有其他方法吗? http://www.janrain.com/products/engage/invite-friends

【讨论】:

  • 有一个特殊的 Facebook api 用于邀请朋友,Facebook 负责发送电子邮件。你没有收到朋友的电子邮件。
  • @BillLeeper 该 API 的名称是什么。你能提供文档链接吗?
  • 很抱歉提出了一个解决方案,但实际上并没有提供它。这样做太疯狂了,而且可能不再像我那样工作了。我认为我的方法已从 facebook api 中删除。
【解决方案3】:

我认为 Facebook 不允许获取朋友的电子邮件 ID;至少,这是我的研究告诉我的。 @helloworld:谁告诉你 janrain 会获取用户朋友的电子邮件 ID?

【讨论】:

    【解决方案4】:

    只有扩展权限才能在获取访问令牌时通过范围属性指定

    示例:

    https://graph.facebook.com/oauth/authorize?
        client_id=...&
        redirect_uri=http://www.example.com/callback&
        scope=email
    

    【讨论】:

    • 但我已经在使用 scope=publish_stream,offline_access,email 而graph.facebook.com/oauth/authorize
    • 那么您可以通过graph.facebook.com/username 访问它...如果它不存在,则它不可用。或用户未授权,用户可以明确部分允许您的范围或将他/她的邮件更改为代理电子邮件。
    • 很奇怪..我检查了我和朋友的应用程序设置 - 允许访问电子邮件,所以它必须显示电子邮件,对吗?我和朋友可以采取哪些额外步骤?
    • 您只能访问为您的应用授权扩展权限的用户的邮箱,不能访问他/她的朋友
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多