2017-03-13 182 views
1

我有一個表格,它有4個數據..谷歌電子表格API和Codeigniter

現在我收到$ _POST的數據。我想把它放到谷歌電子表格使用他們的API ..但我太新手瞭解代碼..

我只是achived把谷歌客戶端API codeigniter,但我不知道如何使用它。

我的代碼是這個樣子..

$this->load->library('google'); 
$values = array(
    array(
     $this->input->post('name'), 
     $this->input->post('email'), 
     $this->input->post('reason'), 
     $this->input->post('mobile'), 
     date('Y-m-d') 
    ) 
); 

$body = new Google_Service_Sheets_ValueRange(array(
    'values' => $values 
)); 
// $params = array(
// 'valueInputOption' => $valueInputOption 
//); 
$result = $this->google->spreadsheets_values->update("1gg8rHsKM3DhMaJVY-YexQyggAoq1pUCB5LpP5NFah8A", "Sheet1!A2:E2", $body, ""); 

我不知道是什麼的參數是用於,所以我留空白..

我運行此代碼,並得到錯誤Message: Undefined property: Google::$spreadsheets_values

回答

0

你錯過了幾件事,讓我們一步一步來。

首先,你需要進行身份驗證(好像你已經做了的話):

$client = $this->getClient(); 
$service = new Google_Service_Sheets($client); 

指定你是如何發送數據:

$valueInputOption = 'RAW'; 

創建數組(請注意0是第一列,第1列是第2列,第2列是第3列)。如果您要發送多條線路只是做這樣的例子波紋管,或者如果它只是一條線走[$i],只是做$values = array(...);

$valuesb[$i] = array(
     0 => "Value 1", 
     1 => "Value 2", 
     2 => "Value 3" 
); 

請注意,您需要到指定的電子表格範圍和標籤名稱:

$data[] = new Google_Service_Sheets_ValueRange(
    array(
     'range'  => '\'TAB NAME HERE\'!A2:AU10000', 
     'values' => $valuesb 
    ) 
); 

於是最後發送數據

$requestBody = new Google_Service_Sheets_BatchUpdateValuesRequest(); 
$requestBody->setValueInputOption($valueInputOption); 
$requestBody->setData($data); 

$response = $service->spreadsheets_values->batchUpdate("Spreadsheet ID goes here", $requestBody); 

打印的響應:

echo "<pre>"; 
    print_r($response); 
echo "</pre>";