【问题标题】:How to update multiple cells in google sheets via Sheets Api?如何通过 Sheets Api 更新谷歌表格中的多个单元格?
【发布时间】:2021-06-16 14:20:17
【问题描述】:

我在 PHP 服务器中使用以下代码来更新 Google 表格的单元格 A4A7 中的值:

$values = array(
    array('1234'),
    array('abcd')
);

$range = array(array('Sheet1!A4'),array('Sheet1!A7'));

$data = [];
$data[] = new Google_Service_Sheets_ValueRange([
    'range' => $range,
    'values' => $values
]);
// Additional ranges to update ...
$body = new Google_Service_Sheets_BatchUpdateValuesRequest([
    'valueInputOption' => $valueInputOption,
    'data' => $data
]);
$result = $service->spreadsheets_values->batchUpdate($spreadsheetId, $body);

运行此请求时,收到以下错误:

"error": {
    "code": 400,
    "message": "Invalid JSON payload received. Unknown name \"range\" at 'data[0]': Proto field is not repeating, cannot start list.",
    "errors": [
      {
        "message": "Invalid JSON payload received. Unknown name \"range\" at 'data[0]': Proto field is not repeating, cannot start list.",
        "reason": "invalid"
      }
    ],
    "status": "INVALID_ARGUMENT"
  }
}

在 PHP 中发出 Google Sheets API 请求以一次更新多个不连续单元格的正确方法是什么?

【问题讨论】:

    标签: php google-sheets google-sheets-api


    【解决方案1】:

    通过按以下格式发布数据解决了问题:

    $data = [
        [
            'range'=> 'Sheet1!A4',
            'values'=> array(
            array('1234')
            )
        ],[
            'range'=> 'Sheet1!A7',
            'values'=> array(
            array('abcd')
            )
        ]
    ];
    // Additional ranges to update ...
    $body = new Google_Service_Sheets_BatchUpdateValuesRequest([
        'valueInputOption' => 'USER_ENTERED',
        'data' => $data
    ]);
    $result = $service->spreadsheets_values->batchUpdate($spreadsheetId, $body);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-11
      • 2023-02-10
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2021-03-27
      • 2023-03-09
      • 1970-01-01
      相关资源
      最近更新 更多