Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 谷歌API客户端:“;{quot;error";:“invalid”u grant";,“error”u description";:“不正确的令牌类型”。};_Php_Android_Google Api_Google Api Php Client - Fatal编程技术网

Php 谷歌API客户端:“;{quot;error";:“invalid”u grant";,“error”u description";:“不正确的令牌类型”。};

Php 谷歌API客户端:“;{quot;error";:“invalid”u grant";,“error”u description";:“不正确的令牌类型”。};,php,android,google-api,google-api-php-client,Php,Android,Google Api,Google Api Php Client,我正在用google plus登录开发一个android应用程序。 当用户尝试登录时,我将令牌发送到服务器,并使用官方的google API验证它 尝试验证访问令牌时出错,因此我对其进行调试并记录请求结果的响应: object(Google_Http_Request)#5 (14) { ["batchHeaders":"Google_Http_Request":private]=> array(3) { ["Content-Type"]=> string(16) "applicati

我正在用google plus登录开发一个android应用程序。 当用户尝试登录时,我将令牌发送到服务器,并使用官方的google API验证它

尝试验证访问令牌时出错,因此我对其进行调试并记录请求结果的响应:

object(Google_Http_Request)#5 (14) { ["batchHeaders":"Google_Http_Request":private]=> array(3) { ["Content-Type"]=> string(16) "application/http" ["Content-Transfer-Encoding"]=> string(6) "binary" ["MIME-Version"]=> string(3) "1.0" } ["queryParams":protected]=> array(0) { } ["requestMethod":protected]=> string(4) "POST" ["requestHeaders":protected]=> array(2) { ["content-type"]=> string(33) "application/x-www-form-urlencoded" ["content-length"]=> int(254) } ["baseComponent":protected]=> string(27) "https://accounts.google.com" ["path":protected]=> string(15) "/o/oauth2/token" ["postBody":protected]=> string(254) "code=ya29.2QAkG7lKto3jZk-6ASgU0MUw_Wy7MdecJTudTkHC4D_XXXXXXFoDHct7C1g&grant_type=authorization_code&redirect_uri=&client_id=547769313690-XXXX.apps.googleusercontent.com&client_secret=hmOBOZk6EDJo-HVq4AMaIUwY" ["userAgent":protected]=> string(0) "" ["canGzip":protected]=> bool(false) ["responseHttpCode":protected]=> int(400) ["responseHeaders":protected]=> array(11) { ["content-type"]=> string(16) "application/json" ["cache-control"]=> string(46) "no-cache, no-store, max-age=0, must-revalidate" ["pragma"]=> string(8) "no-cache" ["expires"]=> string(29) "Fri, 01 Jan 1990 00:00:00 GMT" ["date"]=> string(29) "Thu, 11 Dec 2014 11:53:39 GMT" ["x-content-type-options"]=> string(7) "nosniff" ["x-frame-options"]=> string(10) "SAMEORIGIN" ["x-xss-protection"]=> string(13) "1; mode=block" ["server"]=> string(3) "GSE" ["alternate-protocol"]=> string(15) "443:quic,p=0.02" ["transfer-encoding"]=> string(7) "chunked" } ["responseBody":protected]=> string(80) "{ "error" : "invalid_grant", "error_description" : "Incorrect token type." }" ["expectedClass":protected]=> NULL ["accessKey"]=> NULL } 
下面是我的PHP代码:

<?php
    $google_client_id       = 'XXX.apps.googleusercontent.com';
    $google_client_secret   = 'XXX-HVq4AMaIUwY';
    $google_redirect_url    = 'xxx';
    $google_developer_key   = 'XXXXXXXXX';
    $google_application_name = 'XXX Login';
    $google_application_scope = 'https://www.googleapis.com/auth/plus.me'; /* I only needed the basic user info */
    $google_redirect_uri='';
    //include google api files
    require_once 'vendor/autoload.php';

    $gClient = new Google_Client();
    $gClient->setApplicationName($google_application_name);
    $gClient->setClientId($google_client_id);
    $gClient->setClientSecret($google_client_secret);
    //$gClient->setRedirectUri($google_redirect_uri);
    $gClient->setScopes($google_application_scope);
   // $gClient->setDeveloperKey($google_developer_key);
    //$gClient->setAccessType('offline');

  $gClient->authenticate("ya29.2QAkG7lKto3jZk-6ASgU0MUw_Wy7MdecJTudTkHC4D_XXXXXX");

  $token = json_decode($gClient->getAccessToken());

    $google_oauthV2 = new Google_Service_Oauth2($gClient);
   $user_info = $google_oauthV2->userinfo->get();
   var_dump($user_info);
    die();

最近,我在

您似乎错过了OAuth流的一部分。authenticate函数期望在登录时接收从Google发送的令牌

输入有效的重定向URI也可以避免潜在的问题

希望有帮助