如何通过 Google Sheets API 更新多个单元格?

Mal*_*e94 5 batch-updates google-api-php-client google-sheets-api

我正在尝试更新并从谷歌表格中获取一些结果,它正在运行但速度很慢。我需要batchUpdate并获取数据。

这是我的脚本

foreach ($import_cels as $celu => $valoare) {
    $range_ins = $celu;
    $valueRange->setValues(["values" => [$valoare]]);
    $service->spreadsheets_values->update($spreadsheetId, $range_ins, $valueRange, $conf);
}

foreach ($cells_to_get as $celu => $valoare) {
    $response = $service->spreadsheets_values->get($spreadsheetId, $celu);
    $values = $response->getValues()[0][0];
    echo "each cell :" . $values;
}
Run Code Online (Sandbox Code Playgroud)

问题:我有太多的请求,因为我一一更新单元格并提取相同的单元格。

我需要批量更新单元格并让它们像

B12 => 3
BB1 => 1
CC3 => 4
Run Code Online (Sandbox Code Playgroud)

小智 15

请按以下格式创建您的请求

var resources = {
  auth: "auth key",
  spreadsheetId: "spread sheet id",
  resource:{
    valueInputOption: "RAW",
    data:[
      {
        range: "Sheet1!A5", // Update single cell
        values: [["A5"]]
      }, {
        range: "Sheet1!B4:B6", // Update a column
        values: [["B4"], ["B5"], ["B6"]]
      }, {
        range: "Sheet1!C4:E4", // Update a row
         values: [["C4", "D4", "E4"]]
      }, {
         range: "Sheet1!F5:H6", // Update a 2d range
        values: [["F5", "F5"], ["H6", "H6"]]
      }
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

并使用 sheets.spreadsheets.values.batchUpdate(resources)功能进行批量更新。