5

私は自分のpythonアプリケーションにgoogle oAuthを使用しています。このアプリケーションには、Googleによってアプリに自動的にログインする機能があります。初めてログインしようとすると成功しますが、次回からログインしようとすると成功せず、毎回500内部サーバーエラーが発生します。

エラーログを確認すると、「credentials = oAuthFlow.step2_exchange(code)」行に次のエラーメッセージが表示されました

Failed to retrieve access token: {
    "error" : "invalid_grant"
}

Google に有効な clientId を登録しました。なぜそれが起こっているのか誰か教えてください。私はpython 2.7を使用しています。

4

1 に答える 1

6

など、さまざまな原因が考えられます...

  1. ユーザーは許可を撤回しました
  2. スコープが変更されました
  3. Google はお客様の更新トークンを廃止しました
  4. 間違った更新トークンを提示しているコードのバグ。初回のみリフレッシュ トークンを取得できることを忘れないでください。後続の呼び出しでは、データベースに保存する必要があるため、更新トークンは null になります。

2 つの更新トークンが互いに上書きする傾向があるため、テストとライブの両方で同じユーザーを使用すると、多くのことが発生します。

幸いなことに、原因が何であれ、解決策は常に同じです。ユーザーからの再認証を強制する必要があります。

于 2013-09-03T08:51:16.477 に答える