2017-03-13 38 views
1

フォームが4つあります。GoogleスプレッドシートAPIとコードネイター

今は$ _POSTにデータがあります。そして私はAPIを使ってGoogle Spreadsheetに入れたいと思っていますが、コードを理解するにはあまりにも初心者です。

Googleクライアント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, ""); 

をである私は、PARAMが意図されるかわからないので、私は空白のままに...

私はこのコードを実行すると、エラーMessage: Undefined property: Google::$spreadsheets_valuesを取得します

答えて

0

あなたはいくつか不足しています。一歩一歩手を伸ばしましょう。

まず、あなたは(あなたはすでにそれをやったように思える)を認証する必要があります。

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

は、あなたがデータ送信する方法を指定します。配列を作成する

$valueInputOption = 'RAW'; 

を(ことに注意してください0列1、列1、列2、列3)あなたが複数の行を送信したい場合は、単にそれだけで1行が[$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>"; 
関連する問題