「invalid_grant」がgoogle apiから取得した唯一の「回答」であることはよく似ていますが、それらはすべて古いか、同じメッセージに。OAuth2トークンをリフレッシュするときにエラーが発生する@ Google_CalendarServices(php)
奇妙な部分は、この 'もの'が2日前に作業を停止したということです。 CRMでは、Googleアカウントに関連付けられたGoogleカレンダーに会議を予約します。今、最後の2日間で私たちは問題を経験しています、前に起こったことはありません。
アプリケーションは次のように失敗します。
Fatal error: Uncaught exception 'Google_AuthException' with message 'Error refreshing the OAuth2 token, message: '{"error" : "invalid_grant";} Stack trace: #0 /path/to/plugins/google-api-php-client/src/auth/Google_OAuth2.php(240): Google_OAuth2->refreshTokenRequest(Array) #1 /path/to/plugins/google-api-php-client/src/auth/Google_OAuth2.php(217): Google_OAuth2->refreshToken('1/ourtoken...') #2 /path/to/plugins/google-api-php-client/src/service/Google_ServiceResource.php(167): Google_OAuth2->sign(Object(Google_HttpRequest)) #3 /path/to/plugins/google-api-php-client/src/contrib/Google_CalendarService.php(494): Google_ServiceResource->__call('insert', Array)
これは、実際のHTTPの答えです:
Google_HttpRequest Object ( [batchHeaders:Google_HttpRequest:private] => Array ( [Content-Type] => application/http [Content-Transfer-Encoding] => binary [MIME-Version] => 1.0 [Content-Length] => ) [url:protected] => https://accounts.google.com/o/oauth2/token [requestMethod:protected] => POST [requestHeaders:protected] => Array ( [content-type] => application/x-www-form-urlencoded [content-length] => 196 ) [postBody:protected] => client_id=111111111.apps.googleusercontent.com&client_secret=secretSECTRETsecretSECRET&refresh_token=1%2FveryLONGtokenSTRINGhafbuaADDFR&grant_type=refresh_token [userAgent:protected] => Google Calendar PHP Starter Application google-api-php-client/0.6.0 [responseHttpCode:protected] => 400 [responseHeaders:protected] => Array ( [content-type] => application/json; charset=utf-8 [cache-control] => no-cache, no-store, max-age=0, must-revalidate [pragma] => no-cache [expires] => Mon, 01 Jan 1990 00:00:00 GMT [date] => Thu, 10 Nov 2016 01:05:15 GMT [x-content-type-options] => nosniff [x-frame-options] => SAMEORIGIN [x-xss-protection] => 1; mode=block [server] => GSE [alt-svc] => quic=":443"; ma=2592000; v="36,35,34" [accept-ranges] => none [vary] => Accept-Encoding [transfer-encoding] => chunked ) [responseBody:protected] => { "error" : "invalid_grant" } [accessKey] => )
はい、我々は古いバージョンではない新しいものを使用しています。はい、アカウントはライブです。挿入しようとしているカレンダーは存在しています。特権やパスワードは変更/リセットされませんでした。私たちはすべてのカレンダーを試しました。全く成功しませんでした。私はここで開発者キーを使用せず、アクセスタイプをオフラインに設定し、サーバ時間を同期させるなどのマイナーな変更やハッキングも試みました...
実際には、それが壊れる前に全部で何もしませんでした。したがって、1つの質問があります.Googleは行動やコードなどで何かを変更しましたか?あるいは何か(欠けている/削除された機能のような)が欠けていましたか?私の大学の
EDIT#1
一つは、実際に何かを変更しました。 (編集セクションの終わりにそれ以上)
私たちは1つの「メイン」Googleアカウント、開発者キーとクライアントID、そしてすべてのアカウントを持っており、このアカウントにも1カレンダーがあります。
私たちは同僚のために複数の他のGoogleアカウントを持っています。メインカレンダーからカレンダーに、またその逆も許可されています。 GoogleのCMSでは、同僚のカレンダーの1つにイベント(したがってGoogle_CalendarServiceに挿入)を追加しようとしています。
私たちの同僚の一人が仕事を辞め、私の大学が変更されましたHISパスワード。そして、助成金を取り除いた。それは16:00に月曜日起こって、火曜日の朝、私たちは最初のエラーを得ました。この1つのGoogleアカウントの変更は、他のすべてのユーザーの動作に影響を与えることができますか?メインカレンダーアカウントの動作???
- 誰もがこのような似たような経験し、修正するために管理した場合EDIT番号の末尾1
することは、いくつかのアドバイスをお願いします。ありがとうございました!
Gmailスコープのいずれかを使用していますか?ユーザーが最近パスワードを変更した可能性はありますか? "Googleは行動/コードなどで何かを変えたのか?"私は確信していませんが、私はこの数週間のように多くの質問を見てきました。 Googleの連絡先にチェックインしています。 – DaImTo
こんにちは@DaImTo、ご意見ありがとうございます。私たちは明示的に範囲を定義していません、私はあなたに使用法の少し詳細な情報を与えるために説明を編集します。あなたのGoogleの人からのフィードバックは非常にいいです。乾杯。 – solotherm
もっと明確にしましょう。ユーザーを認証するときは、少なくともGoogleカレンダーのスコープを要求している必要があります。他の権限をリクエストしていますか? – DaImTo