我是 Google Sheets API 的新手, 目前我正在开发一个系统将数据发送到谷歌表格。 当我尝试发送数据时,它显示错误,例如:无效值 [0][0]
下面是我的代码行。
`
$client = getClientAuth();
$spreadsheet_ID = $this->spreadsheet->spreadsheetId;
$range = "Sheet1";
$values = $this->sheetData;
$this->service = new Sheets($client);
$body = new ValueRange([
'majorDimension' => 'ROWS',
'values' => [array_map(function($nv) {
return (is_null($nv)) ? "" : $nv;
},$values)]
]);
$params = ['valueInputOption' => 'RAW'];
$insert = ['insertDataOption' => 'INSERT_ROWS'];
//executing the request
$data = $this->service->spreadsheets_values->append($spreadsheet_ID, $range,
$body, $params, $insert);
return $data;
`
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
根据您的错误消息和显示脚本,我认为在您的情况下,
$values可能是一个二维数组。我认为如果$values是一维数组,那么您的脚本就可以工作。另外,请在$params中包含'insertDataOption' => 'INSERT_ROWS'。那么,既然如此,下面的修改如何呢?来自:
$body = new ValueRange([ 'majorDimension' => 'ROWS', 'values' => [array_map(function($nv) { return (is_null($nv)) ? "" : $nv; },$values)] ]); $params = ['valueInputOption' => 'RAW']; $insert = ['insertDataOption' => 'INSERT_ROWS']; //executing the request $data = $this->service->spreadsheets_values->append($spreadsheet_ID, $range, $body, $params, $insert);致:
$body = new ValueRange([ 'majorDimension' => 'ROWS', 'values' => array_map(function($row) { return array_map(function($col) { return (is_null($col)) ? "" : $col; }, $row); }, $values) ]); $params = ['valueInputOption' => 'RAW', 'insertDataOption' => 'INSERT_ROWS']; $data = $service->spreadsheets_values->append($spreadsheet_ID, $range, $body, $params);或
$body = new Google_Service_Sheets_ValueRange([ 'majorDimension' => 'ROWS', 'values' => array_map(function($row) { return array_map(function($col) { return (is_null($col)) ? "" : $col; }, $row); }, $values) ]); $params = ['valueInputOption' => 'RAW', 'insertDataOption' => 'INSERT_ROWS']; $data = $service->spreadsheets_values->append($spreadsheet_ID, $range, $body, $params);注意:
当使用箭头函数时,我认为可以使用如下修改。
来自
'values' => array_map(function($row) { return array_map(function($col) { return (is_null($col)) ? "" : $col; }, $row); }, $values)致