OAUTH2 機能を既存の App Engine アプリケーションに追加しようとしましたが、いくつか問題がありました。提案があれば感謝します。
私の手順は次のとおりです。 1. Google Api コンソールでクライアント ID を作成し、OAUTH フローを作成します。2. ユーザーがlogin
ページにアクセスすると、Google ログイン ページにリダイレクトされます。3. 条件に同意すると、ユーザーはアプリケーションのランディング ページにリダイレクトされます
from oauth2client.client import OAuth2WebServerFlow
from django.http import HttpResponseRedirect
flow = OAuth2WebServerFlow(client_id='my_client_id',
client_secret='my_client_secret',
scope='https://www.googleapis.com/auth/userinfo.email',
redirect_uri='http://www.example.com/')
def login(request):
return HttpResponseRedirect(auth_uri)
def ecoLandingPage(request):
code=request.GET.get('code', '')
if code:
cred = "" + code
credentials = flow.step2_exchange(cred)
私の質問は次のとおりです。
ユーザーがサインインしてランディング ページにリダイレクトされた後、ページを更新すると、次のエラーが表示されます。これは
flow.step2_exchange(cred)
. これを修正する方法はありますか?INFO 2014-08-21 16:39:56,437 client.py:1304] アクセス トークンの取得に失敗しました: {
「エラー」:「invalid_grant」、
"error_description": "無効なコードです。"
}
また、App Engine で Django プロジェクトを実行しているため、現在のユーザーの情報を確認するには、ページの右隅に名前を掲載したいので、どのような方法が最適ですか。良い例はありますか?
ありがとう!