【问题标题】:Curl PHP Api V4 Google SheetsCurl PHP Api V4 谷歌表格
【发布时间】:2020-05-29 00:42:43
【问题描述】:

我使用以下代码调用 API v4 来打印电子表格的值。进展顺利。

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://sheets.googleapis.com/v4/spreadsheets/
spreadsheetID/values/PHP?valueRenderOption=UNFORMATTED_VALUE&key=yourKeyId");
$result = curl_exec ($curl);
curl_close ($curl);

我无法实现的是对其进行插入或更新,我无法为此将 PHP curl 放在一起。一些帮助?请尝试以下方法,但它不起作用。

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://sheets.googleapis.com/v4/spreadsheets/
spreadsheetID/append/PHP?InsertDataOption=INSERT_ROWS&key=yourKeyId");
$jvalues=array(array("5869","35685987","Ema","2020-05-29","no brinda","3563430423"));

$jsonData = array(
'values' => $jvalues
 );

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec ($curl);
curl_close ($curl);

image for error

一些帮助,我在任何地方都找不到示例。 谢谢。

【问题讨论】:

  • 当我看到您的脚本时,您似乎正在使用 API 密钥。如果我的理解是正确的,不幸的是,API 密钥不能用于 POST 方法,而可以用于 GET 方法。因此,需要将值放入 Google 电子表格以使用由 OAuth2 和/或服务帐户检索到的访问令牌。顺便说一句,当 Google 电子表格不是您的或您没有写入权限时,即使使用访问令牌,也无法使用这些值。也请注意这一点。

标签: php curl google-sheets


【解决方案1】:

很遗憾,API 密钥不能用于 POST 方法,但可以用于 GET 方法。因此,需要将值放入 Google 电子表格以使用由 OAuth2 和/或服务帐户检索到的访问令牌。顺便说一句,当 Google 电子表格不是您的或您没有写入权限时,即使使用访问令牌,也无法使用这些值。

参考资料:

Sheets Authorizing requests

OAuth2

【讨论】:

    猜你喜欢
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    相关资源
    最近更新 更多