2017-09-05 100 views
0

我試圖從谷歌API收到一個訪問令牌來獲取谷歌的API訪問令牌:無法使用谷歌的API的PHP客戶端

$client = new Google_Client();   
$client->setAuthConfig('service-account.json');   
$client->setScopes('https://www.googleapis.com/auth/bigquery');   
$client->setSubject($user_to_impersonate);  
var_dump($client->getAccessToken());  

我已經與GOOGLE_APPLICATION_CREDENTIALS嘗試,但返回null ,也是:

$client = new Google_Client();  
putenv('GOOGLE_APPLICATION_CREDENTIALS=service-account.json');   
$client->useApplicationDefaultCredentials();   
$client->setScopes('https://www.googleapis.com/auth/bigquery');   
$client->setSubject($user_to_impersonate);   
+0

我已經清理了一下你的問題。請更清楚地解釋到底發生了什麼問題。 (例如,你說第二個例子「返回null」,這是否意味着你的第一個例子中的'$ client-> getAccessTokan()'返回'null'?'service-account.json' ?)見[問]。 – Chris

+0

這兩個方法都返回NULL – user1629045

+0

現在我收到另一個錯誤:致命錯誤:在............/libraries/google-api中帶有消息'json key缺少類型字段'的未捕獲異常'InvalidArgumentException' -client- /供應商/谷歌/ AUTH/src目錄/ CredentialsLoader.php:118堆棧跟蹤 – user1629045

回答

0

好吧......我看到發生了什麼...我的json服務帳戶文件已被棄用。我nedded再次下載它,所以它帶有更多的vson json文件...不贊成使用的只有3個字段...

相關問題