【问题标题】:Can't get Facebook Email无法获取 Facebook 电子邮件
【发布时间】:2015-11-07 05:03:34
【问题描述】:

我正在关注this tutorial here,并且我在 python 库 Rauth 和 Flask 中有以下代码:

def callback(self):
    if 'code' not in request.args:
        return None, None, None
    oauth_session = self.service.get_auth_session(
        data={'code': request.args['code'],
              'grant_type': 'authorization_code',
              'redirect_uri': self.get_callback_url()}
    )
    me = oauth_session.get('me').json()
    print me['id'], me['name'], me.get('email')
    return ('facebook$' + me['id'], me.get('email').split('@')[0],  # Facebook does not provide username, so the email's user is used instead
        me.get('email'))

如您所见,我尝试打印me['id'], me['name'], me.get('email')。 id 和 name 按计划打印,但电子邮件打印为 None 导致函数出现问题(因为电子邮件在函数底部使用)。在使用我的个人 Facebook 帐户进行测试时,我确保我提供了电子邮件,我检查了应用程序设置,并且在它显示电子邮件的地方,有一个标记的复选框,说明我正在与此应用程序共享电子邮件。

Facebook 是否改变了处理或接收电子邮件的方式,或者我的应用程序或代码存在问题?谢谢。

【问题讨论】:

  • 所以这也发生在您自己的帐户上?是否已在您的应用中注册?请提供您的应用 ID 和您自己的 ID,好吗?

标签: python facebook oauth oauth-2.0


【解决方案1】:

显然,随着 API 2.4 版的更新,Facebook 从返回的字段列表中删除了该电子邮件。

如果您的 APP 使用 2.4 版的 API,您可能应该从代码中排除电子邮件字段。

供参考: https://developers.facebook.com/ads/blog/post/2015/07/08/marketing-api-v2_4/

斯特凡诺

【讨论】:

    猜你喜欢
    • 2015-09-29
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多