Php 更新价值观&;创建新行-谷歌工作表API

Php 更新价值观&;创建新行-谷歌工作表API,php,json,google-sheets-api,Php,Json,Google Sheets Api,我的代码有点乱七八糟,但我现在一片空白 基本上,我希望我的脚本接收这些值并将它们添加到我的google工作表中 在这个例子中,我将这些值设置为一个简单的数组,但我将包含一个非常基本的名称、年龄和电话号码的形式 提前感谢。如中所述,您可以使用以下方法: 将数据写入单个范围 尝试使用以下方法: <?php $date_added = date('Y'); $api_key = 'abc'; $spreadsheet_id = '1-def'; $valueInputOption = 'U

我的代码有点乱七八糟,但我现在一片空白

基本上,我希望我的脚本接收这些值并将它们添加到我的google工作表中

在这个例子中,我将这些值设置为一个简单的数组,但我将包含一个非常基本的名称、年龄和电话号码的形式

提前感谢。

如中所述,您可以使用以下方法:

  • 将数据写入单个范围
尝试使用以下方法:

<?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";
}

?>
  • 写入多个不连续的范围
以下是您可以尝试的示例:

$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);
此外,您还可以选择是覆盖表后的现有数据,还是为新数据插入新行。默认情况下,输入会覆盖表后的数据。要将新数据写入新行,请指定
insertDataOption=INSERT_rows

,如中所述,您可以使用以下方法:

$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);
  • 将数据写入单个范围
尝试使用以下方法:

<?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";
}

?>
  • 写入多个不连续的范围
以下是您可以尝试的示例:

$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);
此外,您还可以选择是覆盖表后的现有数据,还是为新数据插入新行。默认情况下,输入会覆盖表后的数据。要将新数据写入新行,请指定
insertDataOption=INSERT\u rows

$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);

来源:


来源: