我正在关注此answer,这非常清楚且有用,我已经配置了所有设置,但在使用gmail登录后,我被重定向到localhost:8000/soc/complete/google-oauth2/?state=jAwzw... 。我收到此错误
HTTPError at /soc/complete/google-oauth2/
403 Client Error: Forbidden for url: https://www.googleapis.com/plus/v1/people/me?access_token=ya29..wwKoNcTfjGshqc8UYfdziBbgVtYP4bgBZ9ehrfsHJjfs-v6Cy2X3ULsdh_rJwbfApw&alt=json
Request Method: GET
Request URL: http://localhost:8000/soc/complete/google-oauth2/?state=jAwzw3EhdvFdUCv2DFia8fN4n7tUic6u&code=4/nvOb3r-U-ZXrxFCT1dSKcTE2wR8MbxhonRWX60cP4-0&authuser=0&session_state=e8244f9ad9dec2b21c83e2b153a6e9595ccefac4..e292&prompt=consent
Django Version: 1.8.1
Exception Type: HTTPError
Exception Value:
403 Client Error: Forbidden for url: https://www.googleapis.com/plus/v1/people/me?access_token=ya29..wwKoNcTfjGshqc8UYfdziBbgVtYP4bgBZ9ehrfsHJjfs-v6Cy2X3ULsdh_rJwbfApw&alt=json
Exception Location: /usr/local/lib/python2.7/dist-packages/requests/models.py in raise_for_status, line 840
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:
['/home/aditya/django/myapp/socialapp',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
Server time: Wed, 13 Apr 2016 11:33:21 +0000
我不确定 SOCIAL_AUTH_PIPELINE 设置,我刚刚复制了它们,就像
SOCIAL_AUTH_PIPELINE = (
'social.pipeline.user.create_user',
'social.pipeline.social_auth.social_user',
'social.pipeline.social_auth.associate_user',
'social.pipeline.social_auth.load_extra_data',
'social.pipeline.user.user_details',
)
您能否解释一下这个问题以及 SOCIAL_AUTH_PIPELINE 的工作原理是什么?
答案 0 :(得分:18)
问题已解决,只需启用Google+ API,感谢@ddalu5
答案 1 :(得分:0)
对于所有遇到相同问题的人,解决问题的一种替代方法是更新软件包。我在 v1 中遇到了问题,启用 Google+ 并不能解决问题,但升级到 v4 可以。