从 Python Social Auth 获取访问令牌

Posted

技术标签:

【中文标题】从 Python Social Auth 获取访问令牌【英文标题】:Get access token from Python Social Auth 【发布时间】:2014-08-04 22:41:45 【问题描述】:

我在我的网站上实现了 Python Social Auth,并且我正在尝试(在登录过程之后)访问用户获得的访问令牌。我可以在 Django 管理员上看到有一个名为 extra_data 的字段包含访问令牌,但我不知道如何从我的代码中访问它。

有什么想法吗?

我想做一些与 Django Social Auth 类似的事情:http://django-social-auth.readthedocs.org/en/latest/tokens.html

【问题讨论】:

【参考方案1】:

给定一个用户实例,您可以通过以下方式获取令牌:

  social = user.social_auth.get(provider='provider name')
  social.extra_data['access_token']

假设 Facebook 提供商:

  social = user.social_auth.get(provider='facebook')
  social.extra_data['access_token']

【讨论】:

PSA创始人本人的回答:)【参考方案2】:

http://python-social-auth.readthedocs.org/en/latest/use_cases.html#retrieve-google-friends

user = User.objects.get(...)
social = user.social_auth.get(provider='google-oauth2')
response = requests.get(
    'https://www.googleapis.com/plus/v1/people/me/people/visible',
    params='access_token': social.extra_data['access_token']
)

【讨论】:

以上是关于从 Python Social Auth 获取访问令牌的主要内容,如果未能解决你的问题,请参考以下文章

通过访问令牌进行的 Python Social auth 身份验证失败

如何使用 facebook 的 python social auth 获取用户电子邮件并保存

python Python,Facebook,python-social-auth:获取Facebook好友列表及其姓名,位置,个人资料图片和个人资料页面

python Django:python-social-auth配置和管道,用于获取Facebook,Twitter,LinkedIn和Goog的用户电子邮件,全名和保存头像

在 python-social-auth 中从 google 和 facebook 检索个人资料图片

python-social-auth AuthCanceled 异常