Попытка добавить строку в электронную таблицу Google на PHP
Я использую клиентский API Google через Composer (https://packagist.org/packages/google/apiclient ) и я успешно прошел аутентификацию и получил маркер доступа.
Я пытаюсь добавить строку в таблицу Google на своем диске, но не могу найти никакой соответствующей документации, которая конкретно касается PHP.
Вот что у меня пока есть:
$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);
Это возвращает следующую ошибку:
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()
", а также как добавить строку в конец листа, вместо того, чтобы указывать определенный диапазон.
Я был бы очень признателен за любую помощь в этом вопросе.
1 answers
У меня была та же проблема, по этому поводу отсутствует документация. Но я нашел решение. Вот рабочий пример:
// ...
// 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);
Я думаю, что это странный синтаксис, и я не нашел четкой документации об этом, я просто попробовал какую-то комбинацию, и теперь она работает! Не уверен, что это правильный путь, надеюсь, это может помочь.