Google APIクライアントでトークンを更新する方法は?
私はGoogle Analytics API(V3)で遊んでいて、somエラーに遭遇しました。まず、すべてが正しく設定され、私のテストアカウントで機能します。しかし、別のプロファイルID(同じGoogle Accont / GAアカウント)からデータを取得したい場合、403エラーが発生します。奇妙なことに、一部のGAアカウントのデータはデータを返し、他のアカウントはこのエラーを生成します。 トークンを取り消してもう一度認証したところ、すべてのアカウントからデータを取得できるようになりました。問題が解決しました?ない。アクセスキーの有効期限が切れると、同じ問題が再び発生します。 私が正しく理解していれば、resfreshTokenを使用して新しいauthenticationTookenを取得できます。 問題は、私が実行すると: $client->refreshToken(refresh_token_key) 次のエラーが返されます。 Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }' refreshTokenメソッドの背後にあるコードをチェックして、リクエストを「apiOAuth2.php」ファイルに追跡しました。すべてのパラメーターが正しく送信されます。grant_typeはメソッド内で 'refresh_token'にハードコーディングされているため、何が問題なのかを理解するのは困難です。パラメータ配列は次のようになります。 Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token ) 手順は以下の通りです。 $client = new apiClient(); $client->setClientId($config['oauth2_client_id']); $client->setClientSecret($config['oauth2_client_secret']); $client->setRedirectUri($config['oauth2_redirect_uri']); $client->setScopes('https://www.googleapis.com/auth/analytics.readonly'); $client->setState('offline'); $client->setAccessToken($config['token']); …