从 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的用户电子邮件,全名和保存头像