2016-06-25 1 views
5

Google의 클라이언트 API를 작성자 (https://packagist.org/packages/google/apiclient)를 통해 사용하고 있으며 액세스 토큰을 성공적으로 인증하고 받았습니다.PHP로 Google 스프레드 시트에 행 추가 시도

드라이브의 Google 시트에 행을 추가하려고하지만 PHP 관련 주소가있는 관련 문서를 찾을 수 없습니다. 또한

Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "code": 400, "message": "Invalid valueInputOption: INPUT_VALUE_OPTION_UNSPECIFIED", "errors": [ { "message": "Invalid valueInputOption: INPUT_VALUE_OPTION_UNSPECIFIED", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } } ' in /usr/share/nginx/vendor/google/apiclient/src/Google/Http/REST.php 

나는 "Google_Service_Sheets_ValueRange()"개체의 형식으로 붙어있어, 그리고 :

$service = new Google_Service_Sheets($a4e->google); // my authenticated Google client object 
$spreadsheetId = "11I1xNv8cHzBGE7uuZtB9fQzbgrz4z7lIaEADfta60nc"; 
$range = "Sheet1!A1:E"; 
$valueRange= new Google_Service_Sheets_ValueRange(); 
$service->spreadsheets_values->update($spreadsheetId,$range,$valueRange); 

이 다음과 같은 오류를 반환 여기

는 내가 지금까지있어 무엇 특정 범위를 지정하지 않고 시트의 끝 부분에 행을 추가하는 방법.

이 문제에 대한 도움을 주시면 매우 감사하겠습니다.

답변

8

동일한 문제가 발생했는데 이에 대한 문서가 부족합니다. 하지만 해결책을 찾았습니다. 다음은 작업 예입니다 :

// ... 

// Create the value range Object 
$valueRange= new Google_Service_Sheets_ValueRange(); 

// You need to specify the values you insert 
$valueRange->setValues(["values" => ["a", "b"]]); // Add two values 

// Then you need to add some configuration 
$conf = ["valueInputOption" => "RAW"]; 

// Update the spreadsheet 
$service->spreadsheets_values->update($spreadsheetId, $range, $valueRange, $conf); 

나는 그것이 이상한 구문 생각, 내가 그것에 대해 명확한 문서를 발견하지 않았다, 난 그냥 몇 가지 조합을 시도하고 지금은 작동한다! 올바른 방법인지 확인하려면, 도움이 되길 바랍니다.

+2

참고하시기 바랍니다. https://developers.google.com/sheets/guides/values#writing_to_a_single_range에 대한 간단한 샘플을 설명서에 추가했습니다. –