Google Oauth2提供商未实施

时间:2014-01-17 06:30:17

标签: django google-oauth django-socialauth

我在 django 1.6 工作。我的应用需要社交身份验证,因此我使用的是 django-social-auth 应用。我想在我的谷歌帐户中列出所有朋友。我按照网址http://c2journal.com/2013/01/24/social-logins-with-django/

中的步骤进行操作

为了列出我用过的所有朋友 django-social-friends-finder 。我创建了一个google api项目,并在我的设置中使用 GOOGLE_OAUTH2_CLIENT_ID GOOGLE_OAUTH2_CLIENT_SECRET 中的客户ID 密钥。 py文件。我为 redirect_uri 参数提供了 localhost ip

我使用我的电子邮件成功验证了,但无法列出我的朋友列表。当我在终端中调试时,错误消息显示为'提供者:%s未实现'。我搜索了很多,但找不到解决方案。请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

从未使用django-social-friends-finder,但我猜它会在某个时候调用https://www.googleapis.com/plus/v1/people/me/people/visible来检索您的朋友列表。但要访问该API,您需要指定正确的范围,这样您的访问令牌就具有该权限。要在django-social-auth中执行此操作,请定义此设置:

GOOGLE_OAUTH_EXTRA_SCOPE = [
    'https://www.googleapis.com/auth/plus.login'
]

此片段还显示了如何检索好友列表:

import requests

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']}
)
friends = response.json()['items']