<?php
$date_added = date('Y');
$api_key = 'abc';
$spreadsheet_id = '1-def';
$valueInputOption = 'USER_ENTERED';
$range="A9:F9";
$values = array("this","is","my","awesome","test","$date_added");
$access_token = "xyz";
$values_encoded = json_encode($values);
$AppendCellsRequest = "{
'sheetId': 1,
'rows': [
{
object(RowData)
}
],
'fields': $values_encoded,
}";
json_decode($AppendCellsRequest);
$url = 'https://sheets.googleapis.com/v4/spreadsheets/'.$spreadsheet_id.'/values/'.$range.'?valueInputOption='.$valueInputOption.'?key='.$api_key.
'?access_token='.$access_token.'?response_type=code';
$url_json = file_get_contents($url);
if(!$url_encoded = json_decode($url_json, true)) {
echo "Sorry";
}
?>
我的代码有点脏,但此刻我还拉空了。
基本上,我希望我的脚本接收值并将它们添加到我的google工作表中。
对于这个例子,我将值设为一个简单的数组,但我将包含一个非常基本的名称形式,年龄和时间;电话号码。
提前谢谢。
答案 0 :(得分:1)
如Reading & Writing Cell Values中所述,您可以使用以下方法:
spreadsheets.values.update
将数据写入单个范围。尝试使用:
$values = array(
array(
// Cell values ...
),
// Additional rows ...
);
$body = new Google_Service_Sheets_ValueRange(array(
'values' => $values
));
$params = array(
'valueInputOption' => $valueInputOption
);
$result = $service->spreadsheets_values->update($spreadsheetId, $range,
$body, $params);
spreadsheets.values.batchUpdate
写出多个不连续的范围以下是您可以尝试的示例:
$values = array(
array(
// Cell values ...
),
// Additional rows ...
);
$data = array();
$data[] = new Google_Service_Sheets_ValueRange(array(
'range' => $range,
'values' => $values
));
// Additional ranges to update ...
$body = new Google_Service_Sheets_BatchUpdateValuesRequest(array(
'valueInputOption' => $valueInputOption,
'data' => $data
));
$result = $service->spreadsheets_values->batchUpdate($spreadsheetId, $body);
此外,您可以选择是否要在表后覆盖现有数据或为新数据插入新行。默认情况下,输入会覆盖表之后的数据。要将新数据写入新行,请指定insertDataOption=INSERT_ROWS
。
答案 1 :(得分:0)
$result = $this->batchUpdateValues($id, 'A1:B2', 'USER_ENTERED', array(
array('A', 'B'),
array('C', 'D')
));
public function batchUpdateValues($spreadsheetId, $range, $valueInputOption,
$_values)
{
$service = $this->service;
// [START sheets_batch_update_values]
$values = [
[
// Cell values ...
],
// Additional rows ...
];
// [START_EXCLUDE silent]
$values = $_values;
// [END_EXCLUDE]
$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);
printf("%d cells updated.", $result->getTotalUpdatedCells());
// [END sheets_batch_update_values]
return $result;
}
来源: