1. Переходи в Google Cloud Console

    создай новый проект, для это слева сверху кликаешь по текущему проекту, а затем по New project

  2. Переходишь в Marketplace через левое меню

    С помощью поиска устанавливаешь Google Drive API и Google Sheets API

  3. Далее иди в APIs & Services -> OAuth consent screen (Get started)

    на этапе Audience выбираешь External

  4. далее снова в APIs & Services -> Credentials -> Create credentials -> Service account

    внутри создай json ключ, во вкладке Keys

  5. тперь открой нужную таблицу и скопируй ID, будет сразу после /d/ в URL


// Включение отображения ошибок
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Подключаем автозагрузчик Composer
require __DIR__ . '/../vendor/autoload.php';

use Google\Client;
use Google\Service\Drive;
use Google\Service\Sheets;

$client = new \Google_Client();
$client->setApplicationName('My PHP Sheets App'); // не влияет на авторизацию, только для логов
$client->setScopes([\Google_Service_Sheets::SPREADSHEETS_READONLY]);
$client->setAuthConfig('data/credentials.json'); // путь к вашему JSON-файлу с ключами
$client->setAccessType('offline');

$service = new Google_Service_Sheets($client);

// Укажите ID таблицы (можно взять из URL) и диапазон ячеек
$spreadsheetId = 'table_id';
$range = 'list_one!A1:D4'; // Пример: данные из ячеек A1 до D4 на листе "list_one"

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

if (empty($values)) {
    echo "Нет данных.\n";
} else {
    foreach ($values as $row) {
        var_dump($row);
        //echo implode(" | ", $row) . "\n";
    }
}