从Python Social Auth获取访问令牌

时间:2014-06-14 14:51:31

标签: python django python-social-auth

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

有什么想法吗?

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

2 个答案:

答案 0 :(得分:27)

在给定用户实例的情况下,您可以通过以下方式获取令牌:

  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']

答案 1 :(得分:1)

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']}
)