2017-03-15 66 views
0
<?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表格API

基本上,我想我的脚本采取的价值,并将其添加到我的谷歌表。

对于这个例子,我只是将数值作为一个简单的数组,但我将包括一个非常基本的名称形式,年龄&电话号码。

预先感谢您。

回答

1

Reading & Writing Cell Values讨论的,可以使用以下方法:

尝试:

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

下面是一个示例,您可以尝试:

$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

相关问题