2017-03-22 17 views
0

PHPを使用してgoogle plusからユーザーのデータを取得しようとしています。 私はチュートリアル https://www.youtube.com/watch?v=-65R420rIUAGoogle_Auth_Exception:OAuth2トークンのリフレッシュ中にエラーが発生しました。

を下回る状況使用しています:私は、PHPを実行している私のサーバーにこのトークンを送って、私はgoogleSignInResult.googleSignInAccount.getIdToken()

を使用してアクセストークンを取得グーグルプラスボタンを使用して私のアプリアンドロイドに ユーザログインを:(ビデオで説明したように)以下の は私のコード

try{ 
      $gClient = new Google_Client(); 
      $gClient->setApplicationName('pixyfi'); 
      $gClient->setClientId($config['google']['appid']); 
      $gClient->setClientSecret($config['google']['secret']); 
      $token = json_encode(array("access_token"=>$lptoken,"refresh_token"=>$lptoken,"token_type"=>"Bearer","expires_in"=>3600,"id_token"=>$lptoken,"created"=>1320790426)); 

      $gClient->setAccessToken($token); 
      $gClient->addScope(Google_Service_Plus::PLUS_ME); 
      $plus = new Google_Service_Plus($gClient); 

      $gpUserProfile = $plus->people->get('me'); 
      echo "User Fetched as:".$gpUserProfile['id']; 
     } 
     catch(Google_Auth_Exception $x){ 
      echo "Error:".$x; 
     } 

ですが、私はエラーを取得していますGoogleのPHPクライアントを使用してユーザーデータをフェッチエラー:Google_Auth_Exception:/ var/www/html/api/auth/vendor/google/apiclient/src/Google/Auth/vendorの '{ "エラー": "invalid_client" } "というOAuth2トークンを更新中にエラーが発生しました。 OAuth2.php:364

私はここで間違いをしていますか教えてください。

+0

は、フィールドの種類あなたはあなたのトークンを格納しないトークン情報が含まれていますか? (全体的なアクセスとリフレッシュトークンを保持するのに十分な大きさです) – Dimi

+0

refresh_tokenとaccess_tokenの違いについてはわかりません。 https://github.com/google/google-api-php-client/issues/429#issuecomment-66470720から、両方が同じように見えます。はい、完全なトークンがアンドロイドからPHPサーバに送信されています –

答えて

0

これはトークン物を扱う私のコードの一部です。このロジックを実装し、まだエラーが発生している場合はお知らせください。

$行があるが、データベースからフェッチされ、

$client->setAccessToken($row['token']); 
     if(time()>$row['created']+$row['expires_in']) 
     {  
       $client->refreshToken($row['refresh_token']); 
       $token=$client->getAccessToken(); 
       DB::Query("-----UPDATE DB TOKEN INFO-------"); 
       $client->setAccessToken($token); 

     } 
+0

は同じエラーを返します –