Установил через composer библиотеку php-google-spreadsheet-client для работы с google таблицами. При попытке обратится к таблице получаю ошибку. Таблица с таким именем на диске есть.
Fatal error: Uncaught exception 'Google\Spreadsheet\Exception\SpreadsheetNotFoundException' in C:\OpenServer\domains\GoogleDocs\vendor\asimlqt\php-google-spreadsheet-client \src\Google\Spreadsheet\SpreadsheetFeed.php:100 Stack trace: #0 C:\OpenServer\domains\GoogleDocs\index.php(39): Google\Spreadsheet\SpreadsheetFeed->getByTitle('test') #1 {main} thrown in C:\OpenServer\domains\GoogleDocs\vendor\asimlqt\php-google-spreadsheet-client \src\Google\Spreadsheet\SpreadsheetFeed.php on line 100
Код PHP:
require_once __DIR__ . '/vendor/autoload.php';
use Google\Spreadsheet\DefaultServiceRequest;
use Google\Spreadsheet\ServiceRequestFactory;
use Google\Spreadsheet\SpreadsheetService;
$clientId = 'XXXXXXXXXXXXX';
$clientEmail = 'XXXXXXXXXXXXXX';
$pathToP12File = 'XXXXXXXXXXXXXXXX.p12';
function getGoogleTokenFromKeyFile($clientId, $clientEmail, $pathToP12File) {
$client = new Google_Client();
$client->setClientId($clientId);
$cred = new Google_Auth_AssertionCredentials(
$clientEmail,
array('https://spreadsheets.google.com/feeds'),
file_get_contents($pathToP12File)
);
$client->setAssertionCredentials($cred);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$service_token = json_decode($client->getAccessToken());
return $service_token->access_token;
}
$accessToken = getGoogleTokenFromKeyFile($clientId, $clientEmail, $pathToP12File);
$serviceRequest = new DefaultServiceRequest($accessToken);
ServiceRequestFactory::setInstance($serviceRequest);
$spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
$spreadsheetFeed = $spreadsheetService->getSpreadsheetFeed();
$spreadsheet = $spreadsheetFeed->getByTitle('test');
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники