簡體   English   中英

google-api-php-client“錯誤”:“unauthorized_client”

[英]google-api-php-client “error”: “unauthorized_client”

我們正在嘗試構建一個服務,以便在我們的gsuite域中導出谷歌驅動器文件。

我們正在使用https://github.com/google/google-api-php-client

我們創建了一個服務用戶,下載並保存了用戶憑據,並授予了對服務用戶的域范圍訪問權限。

使用下面最簡單的示例(就像在每個文檔中,我發現):

putenv('GOOGLE_APPLICATION_CREDENTIALS='/service-account-credentials.json');

$client = new \Google_Client();
$client->setAuthConfig('service-account-credentials.json');

$client->setScopes('https://www.googleapis.com/auth/drive.file');

$client->useApplicationDefaultCredentials();
$client->setSubject('admin@mydomain.com');

$service = new \Google_Service_Drive($client);

$service->files->listFiles(); 

一旦我們包含$client->setSubject('admin@mydomain.com'); 它正在刪除以下錯誤:

{
    "error": "unauthorized_client",
    "error_description": "Client is unauthorized to retrieve access tokens using this method."
}

有任何想法,或可以共享此問題的代碼示例。 這對我們來說是一個真正的阻礙者,現在我不知道為什么會出現這個錯誤

我終於做到了

經過幾次嘗試后,我意識到我正在委托對域錯誤的Client-ID進行域范圍訪問。 我一直認為這應該與我在腳本中使用的“client_email”相同。 但它確實(真的,真的,非常重要),這就是“client_id”(正如文檔中提到的那樣)。 這不是電子郵件或字符串,只是您為服務帳戶創建密鑰時獲得的簡單數字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM