Как перезаписать по api в гугл таблице определенные две ячейки?

Ссылка скопирована
PHP
1 ответ

Передаю в функцию номера ячеек, которые надо перезаписать.
Сама функция:

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 перезаписать значения ячеек?

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Для перезаписи определенных двух ячеек в 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!";
?>

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 таблице. Не забудьте обработать ошибки и добавить дополнительную логику, если необходимо.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно