【问题标题】:Can I write to Google Sheet via Google Sheets API without Oauth, using developer key?我可以使用开发人员密钥在没有 Oauth 的情况下通过 Google Sheets API 写入 Google Sheet 吗?
【发布时间】:2018-09-09 21:04:04
【问题描述】:

我正在开发一个应用程序,该应用程序使用 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());

【问题讨论】:

    标签: php google-sheets oauth-2.0 google-cloud-platform google-sheets-api


    【解决方案1】:

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

    【讨论】:

    • 是否有明确说明这一点的文档? Google 根据个人/公共数据developers.google.com/sheets/api/guides/… 将 Oauth 和 dev 密钥授权分开,但没有说明读/写权限。
    • developers.google.com/sheets/api/guides/authorizing 关于授权协议 您的应用程序必须使用 OAuth 2.0 来授权请求​​。不支持其他授权协议。如果您的应用程序使用 Google 登录,系统会为您处理某些方面的授权。
    • 我在创建的 Google Calendar API php 文件中遇到了同样的问题。使用与日历共享的服务帐户中的 My Project.json 文件,我可以读取事件信息,但是如果不使用 OAuth2,我无法更新或添加事件信息,获取代码,交换访问令牌的代码,然后使用访问令牌用于凭据
    • 有一个类似的案例可以帮助您解决问题:stackoverflow.com/questions/44045183/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2017-04-05
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多