Я использую клиентский 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()
», а также как добавить строку в конец листа, вместо того, чтобы указывать конкретный диапазон.
Я был бы очень признателен за любую помощь в этом вопросе.
У меня была та же проблема, есть недостаток документации об этом. Но я нашел решение. Вот рабочий пример:
// ... // 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);
Я думаю, что это странный синтаксис, и я не нашел четкой документации об этом, я просто попробовал какую-то комбинацию, и теперь это работает! Не уверен, что это правильный путь , надеюсь, что это может помочь.