【问题标题】:Google sheets API range issueGoogle 表格 API 范围问题
【发布时间】:2020-11-15 19:35:54
【问题描述】:

我有一个这样的谷歌表。这些值目前只是我的标题的占位符

当我使用 $range = 'Sheet!F2:L2'; 运行我的 PHP 脚本时通过API /服务帐户将记录插入谷歌表,我只想开始在ROW F插入所有尝试,它在第一次尝试时插入很好,但所有后续插入然后插入第3行及以后,插入数据开始在第 1/A 列?

只有当我将范围设置为 F3:L3 并将第 2 行留空时,它才会同时插入到正确的列中?

代码:

require '/var/www/html/app/vendor/autoload.php';
$client = new \Google_Client();
$client->setApplicationName('My PHP App');
$client->setScopes([\Google_Service_Sheets::SPREADSHEETS]);
$client->setAccessType('offline');
$client->setAuthConfig('/var/www/html/clients-api/credentials.json');
$sheets = new \Google_Service_Sheets($client);
$spreadsheetId = '1bo123c1UtdWKV25_312znDO123dDp631238D5qN1123lQ';
$range = 'Sheet1!F2:L2';
$values = [
    [$data->FirstName,$data->LastName,$data->ID,"","",$data->PrimaryNumber,$data->PrimaryEmail]
];
$body = new Google_Service_Sheets_ValueRange([
    'range' => $range,
    'values' => $values
]);
$params = [
    'insertDataOption' => 'INSERT_ROWS',
    'valueInputOption' => "RAW"
];
$result = $sheets->spreadsheets_values->append($spreadsheetId, $range, $body, $params);

echo '<pre>', var_export($result, true), '</pre>', "\n";

【问题讨论】:

  • 请分享一些代码。
  • 按要求添加代码

标签: php google-sheets-api


【解决方案1】:

问题:

如你所见in the official docs:

输入范围用于搜索现有数据并在该范围内查找“表”。

数据将相应地附加在这个“表”之后,从它的第一列开始。

在这种情况下,第一次追加数据时,F2:L2 不属于任何现有表,因为所有这些单元格都是空的。

连续的情况并非如此,其中已经填充的F2:L2 被认为是包含第一行标题的表格的一部分,因为没有空白单元格将F2:L2A1:L1 分开.然后,当尝试向F3:L3 添加数据时,找到的表对应于A1:L2。因此它从 A 列开始附加数据,因为那是表格的开始位置。

您可以通过检查API response 中的tableRange 来检查情况。在您的情况下,当尝试附加 F3:L3 时,它将类似于 "tableRange": "Sheet1!A1:L2"

解决方案:

  • 一种选择是在追加F2:L2 时使输入范围从头开始引用第1 行(例如A1),并在数组values 的开头添加空值:
$range = 'Sheet1!A1';
$values = [
    ["","","","","",$data->FirstName,$data->LastName,$data->ID,"","",$data->PrimaryNumber,$data->PrimaryEmail]
];
  • 另一种选择是每次更新输入范围,以指定不属于“表”的范围(即依次为F2:L2F3:L3F4:L4、等)。

参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    相关资源
    最近更新 更多