我正在使用Google PHP客戶端訪問電子表格數據。Google Api Php客戶端 - Spreadsheets權限錯誤
我得到這個致命的錯誤:
Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "code": 403, "message": "The caller does not have permission", "errors": [ { "message": "The caller does not have permission", "domain": "global", "reason": "forbidden" } ], "status": "PERMISSION_DENIED" } }
我的代碼:
$client = new Google_Client();
$client->setApplicationName("Google spreadsheets");
$client->setDeveloperKey("xxxxx");
$client->setScopes(array('https://www.googleapis.com/auth/drive',
'https://www.googleapis.com/auth/spreadsheets.readonly',
'https://www.googleapis.com/auth/drive.file'));
$service = new Google_Service_Sheets($client);
$range = 'Class Data!A2:E';
$response = $service->spreadsheets_values->get($sheetid, $range);
$values = $response->getValues();
if (count($values) == 0) {
print "No data found.\n";
} else {
print "Name, Major:\n";
foreach ($values as $row) {
// Print columns A and E, which correspond to indices 0 and 4.
printf("%s, %s\n", $row[0], $row[4]);
}
}
如何解決這一問題?
該電子表格歸我所有,意味着可以訪問工作表的api項目所有者。此外,我想訪問沒有oAuth認證。 –
Google Developer Console上的項目不允許您訪問使用數據,即使是擁有它的開發人員也是如此。您仍然需要訪問私人用戶數據的權限。您應該考慮使用服務帳戶。您可以預先授予允許其訪問表單的服務帳戶。查看https://developers.google.com/api-client-library/php/auth/service-accounts – DaImTo
我創建了一個服務帳戶並使用下載的json文件。我不確定我們在控制檯中授權服務帳戶的位置。在鏈接中,它談到了gsuite授權。你能指導嗎? –