我在 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未实现'。我搜索了很多,但找不到解决方案。请帮帮我。提前谢谢。
答案 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']