我正在开发一款使用Google表格API读取和更新Google电子表格中的值的应用。我能够使用我的开发人员密钥阅读,但尝试写入会返回此错误:
“请求缺少必需的身份验证凭据。预期的OAuth 2访问令牌,登录Cookie或其他有效的身份验证凭据。”
阅读(工作正常):
$client = new Google_Client();
$client->setApplicationName("XXX");
$client->setDeveloperKey("XXX");
$service = new Google_Service_Sheets($client);
$spreadsheetId = "XXX";
$range = 'promocodes';
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
编写代码(错误):
$client = new Google_Client();
$client->setApplicationName("XXX");
$client->setDeveloperKey("XXX");
$service = new Google_Service_Sheets($client);
$spreadsheetId = "XXX";
$range = 'promocodes!C4';
$values = [1];
$body = new Google_Service_Sheets_ValueRange([
'values' => $values
]);
$params = [
'valueInputOption' => $valueInputOption
];
$result = $service->spreadsheets_values->update($spreadsheetId, $range,
$body, $params);
printf("Cells updated.", $result->getUpdatedCells());
答案 0 :(得分:1)
据我了解,Google API允许您在没有访问令牌的情况下阅读(使用开发人员密钥获取凭据)但是如果没有oauth2身份验证方法(无论是向Google发送凭据还是接收回复),您都无法更新或添加信息来自他们的代码,使用该代码获取访问令牌,然后使用该访问令牌作为您的凭据来添加或更新信息。