2017-03-13 1 views
1

양식이 4 개 있습니다.Google 스프레드 시트 API 및 코드 식별자

바로 지금 $ _POST에 데이터가 있습니다. 그리고 API를 사용하여 Google 스프레드 시트에 넣고 싶습니다.하지만 코드를 이해하기에는 너무 초보예요.

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, 1 열 2 및 2 열 3입니다.

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

스프레드 시트 범위와 탭 이름을 지정할 필요가 있습니다 : : 여러 라인을 보내려면 그냥 한 줄이 [$i]을 그냥 $values = array(...);을의 경우 노호 아니면 그냥 예를 좋아해요

$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>"; 
관련 문제