Как перезаписать по api в гугл таблице определенные две ячейки?
Передаю в функцию номера ячеек, которые надо перезаписать.
Сама функция:
public function update($cell, $values) { putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $this->apiKey); $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->addScope('https://www.googleapis.com/auth/spreadsheets'); $service = new Google_Service_Sheets($client); $response = $service->spreadsheets->get($this->sheetId); foreach ($response->getSheets() as $sheet) { if ($sheet->getProperties()->index == 0) { $list = $sheet->getProperties()->title; } } $valuesRange = new Google_Service_Sheets_ValueRange( [ 'values' => $values ] ); $params = [ 'valueInputOption' => 'USER_ENTERED' ]; $service->spreadsheets_values->update($this->sheetId, $list . '!V' . $cell . ':W' . $cell, $valuesRange, $params); } |
public function update($cell, $values) { putenv('GOOGLE_APPLICATION_CREDENTIALS=' . $this->apiKey); $client = new Google_Client(); $client->useApplicationDefaultCredentials(); $client->addScope('https://www.googleapis.com/auth/spreadsheets'); $service = new Google_Service_Sheets($client); $response = $service->spreadsheets->get($this->sheetId); foreach ($response->getSheets() as $sheet) { if ($sheet->getProperties()->index == 0) { $list = $sheet->getProperties()->title; } } $valuesRange = new Google_Service_Sheets_ValueRange( [ 'values' => $values ] ); $params = [ 'valueInputOption' => 'USER_ENTERED' ]; $service->spreadsheets_values->update($this->sheetId, $list . '!V' . $cell . ':W' . $cell, $valuesRange, $params); }
Но почему-то, если попытаться переписать только допустим V1:W1, то гугл выдает ошибку.
Если переписывать весь диапозон начиная с A1, тогда проблем нет.
Как именно в диапазоне V1:W1 перезаписать значения ячеек?
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для перезаписи определенных двух ячеек в Google таблице с помощью API необходимо использовать Google Sheets API. Вам потребуется установить библиотеку Google API PHP Client и создать учетные данные для доступа к таблице.
Прежде всего, убедитесь, что вы создали проект в консоли разработчика Google и включили в него Google Sheets API. Затем скачайте файл credentials.json, который содержит информацию о вашем проекте.
Ниже приведен пример кода на PHP, который демонстрирует, как перезаписать две определенные ячейки в Google таблице:
setAuthConfig('credentials.json'); $client->addScope(Google_Service_Sheets::SPREADSHEETS); $service = new Google_Service_Sheets($client); $spreadsheetId = 'YOUR_SPREADSHEET_ID'; $range = 'Sheet1!A1:B2'; $values = [ ["New Value 1", "New Value 2"], ]; $body = new Google_Service_Sheets_ValueRange([ 'values' => $values ]); $params = [ 'valueInputOption' => 'USER_ENTERED' ]; $result = $service->spreadsheets_values->update($spreadsheetId, $range, $body, $params); echo "Cells updated successfully!"; ?>
Замените 'YOUR_SPREADSHEET_ID' на идентификатор вашей таблицы и укажите нужный диапазон ячеек в переменной $range. Затем создайте массив $values с новыми значениями для ячеек.
После выполнения кода, указанные ячейки будут перезаписаны новыми значениями в вашей Google таблице. Не забудьте обработать ошибки и добавить дополнительную логику, если необходимо.