2016-06-25 35 views
5

Używam interfejsu API klienta Google za pośrednictwem Composer (https://packagist.org/packages/google/apiclient) i pomyślnie uwierzytelniłem i otrzymałem token dostępu.Próbuję dodać wiersz do arkusza kalkulacyjnego Google w języku PHP

Próbuję dodać wiersz do arkusza Google w moim dysku, ale nie mogę znaleźć żadnej odpowiedniej dokumentacji, która specjalnie adresuje PHP.

Oto co mam do tej pory:

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

ta zwraca następujący błąd:

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 

utknąłem co do formatu „Google_Service_Sheets_ValueRange()” obiektu, a także jak dołączyć wiersz na końcu arkusza, zamiast określać konkretny zakres.

Byłbym bardzo wdzięczny za pomoc w tej sprawie.

Odpowiedz

8

Miałem ten sam problem, brakuje dokumentacji na ten temat. Ale znalazłem rozwiązanie. Oto przykład roboczych:

// ... 

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

myślę, że to dziwne składni, a nie znalazłem jasnej dokumentacji o tym, po prostu próbowałem trochę kombinacji, a teraz to działa! Nie jestem pewny, czy to jest właściwa droga, mam nadzieję, że to mogłoby pomóc.

+2

FYI, właśnie dodaliśmy do tego małą próbkę w dokumentacji: https://developers.google.com/sheets/guides/values#writing_to_a_single_range –