我可以使用开发者密钥通过 Google Sheets API 无需 Oauth 向 Google Sheet 写入数据吗?

2024-05-03

我正在开发一个使用 Google Sheets 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());

据我了解,Google API 将允许您在没有访问令牌的情况下进行读取(使用开发人员密钥作为凭据),但是如果没有 oauth2 身份验证方法,您将无法更新或添加信息,该方法涉及向 google 发送凭据,从他们,使用该代码获取访问令牌,然后使用该访问令牌作为您的凭据来添加或更新信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以使用开发者密钥通过 Google Sheets API 无需 Oauth 向 Google Sheet 写入数据吗? 的相关文章

随机推荐