python-social-auth
を使用すると、Googleからのアクセスを受け入れた後に403: Forbiden
エラーメッセージが表示されます
編集:私は最近(2017)同じエラーが発生しましたが、新しいメッセージの下で:401 Client Error: Unauthorized for url: https://accounts.google.com/o/oauth2/token
Google+ APIは3/7/19に廃止されるため、この回答は時代遅れです
Google+ API
をGoogle Developer Consoleの有効なAPIのリストに追加する必要があります(APIs
の下)
注:実際のエラーメッセージを表示する場合は、トレースバックを使用してresponse
変数(response.text
)の内容を確認してください。そのためにwerkzeugを使用します(Django-extensions
+ python manage.py runserver_plus
)。
またありがとう。私はこれを使用していました アートとロジックによるpython-social-authチュートリアル 、しかし、上記のGoogle+ APIを有効にするまで/ complete/google-oauth2 /で403:Forbidden HTTPErrorを通過できませんでした、Googleが有効にするのを数分間待ちます。
さらに、テンプレートをテンプレートディレクトリに配置し、TEMPLATE_DIRS = ('/path/to/psa_test/thirdauth/templates/',)
in settings.pyを設定する必要がありました。
これが途中で誰かを助けることを願っています。全体として、それを理解するのに約6時間かかります。悪くない、嬉しい。
私にとっては、2014年9月1日にGoogleによって廃止された完全なURIスコープを使用していました。これは、python-social-authのドキュメントに記載されています。
http://psa.matiasaguirre.net/docs/backends/google.html#google-oauth2
Googleは、Google + APIと最近導入されたより短いスコープ名を支持して、2014年9月1日からフルURLスコープを廃止します。しかし、python-social-authは、v0.1.24でリリースされたe3525187で既にスコープの変更を導入しています。
ただし、何らかの理由でGoogle+ APIを有効にせず、フルURIの古いスコープを引き続き使用する場合は、同じリンクに記載されている手順に従う必要があります。
# Google OAuth2 (google-oauth2)
SOCIAL_AUTH_GOOGLE_OAUTH2_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_OAUTH2_SCOPE = [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
# Google+ SignIn (google-plus)
SOCIAL_AUTH_GOOGLE_PLUS_IGNORE_DEFAULT_SCOPE = True
SOCIAL_AUTH_GOOGLE_PLUS_SCOPE = [
'https://www.googleapis.com/auth/plus.login',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
SOCIAL_AUTH_GOOGLE_OAUTH2_USE_DEPRECATED_API = True
SOCIAL_AUTH_GOOGLE_PLUS_USE_DEPRECATED_API = True
この時点でGoogle+ APIを有効にしたくなかったので、これはうまくいきました。