Як підключити Google Sheets API до PHP-сайту

14.11.2025 Andriy Havrilyuk

Google Sheets — це зручне хмарне сховище даних, яке можна використовувати як легку базу даних для сайтів, ботів або внутрішніх інструментів. У цьому уроці ми розглянемо, як підключити Google Sheets API до PHP та працювати з таблицями: читати та записувати дані.

➡️ КРОК 1. Створення проєкту в Google Cloud
1. Перейдіть у Google Cloud Console: https://console.cloud.google.com/
2. Створіть новий проєкт (або оберіть існуючий).
3. В лівому меню відкрийте APIs & Services → Library.
4. У пошуку знайдіть Google Sheets API і натисніть "Enable".

➡️ КРОК 2. Створення сервісного аккаунта
1. Перейдіть у APIs & Services → Credentials.
2. Натисніть Create Credentials → Service Account.
3. Вкажіть назву та створіть аккаунт.
4. Після створення — перейдіть у нього та додайте ключ:
- вкладка KeysAdd Key → Create new key
- оберіть формат JSON
- файл завантажиться на ваш комп’ютер (його потрібно покласти на сервер)

➡️ КРОК 3. Видача доступу вашому сервіс-акаунту
1. Відкрийте вашу Google-таблицю.
2. Натисніть Поділитись.
3. Додайте e-mail сервісного аккаунта (виглядає як name@project.iam.gserviceaccount.com).
4. Дайте доступ "Редактор" або "Читач", залежно від потреб.

➡️ КРОК 4. Встановлення Google API Client для PHP
Використовується Composer:

composer require google/apiclient:^2.0
Якщо Composer відсутній — встановіть його або покладіть бібліотеку вручну.

➡️ КРОК 5. Підключення Google Sheets API у PHP
Приклад базового PHP-коду:
require 'vendor/autoload.php';

$client = new Google_Client();
$client->setAuthConfig('credentials.json'); // шлях до JSON-файлу сервісного аккаунта
$client->addScope(Google_Service_Sheets::SPREADSHEETS);

$service = new Google_Service_Sheets($client);

// ID таблиці (в URL після /d/)
$spreadsheetId = 'ВАШ_SPREADSHEET_ID';

// Діапазон для читання
$range = 'Лист1!A1:B10';

$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();

echo "<pre>";
print_r($values);
echo "</pre>";
➡️ КРОК 6. Запис даних у таблицю
$data = [
    ["Ім'я", "Email"],
    ["Андрій", "test@example.com"]
];

$body = new Google_Service_Sheets_ValueRange([
    'values' => $data
]);

$params = ['valueInputOption' => 'RAW'];

$update = $service->spreadsheets_values->update(
    $spreadsheetId,
    'Лист1!A1',
    $body,
    $params
);

echo "Дані успішно записано!";
🎉 Готово!

Тепер ваш PHP-сайт може взаємодіяти з Google Sheets: читати, додавати та оновлювати дані. Ви можете використовувати це для ботів, адміністративних панелей, CRM-систем або аналітики.