Привет, я только начал изучать PHP и пытаюсь использовать API листов Google.
Я думал, что я следовал их инструкциям, и я мог хорошо вызывать и редактировать данные листа, но только в Public Access.
Когда я изменяю статус доступа как частный или групповой, я сталкиваюсь с сообщением ниже.
PHP Fatal error: Uncaught exception 'Google_Service_Exception' with message '{
"error": {
"code": 403,
"message": "The caller does not have permission",
"errors": [
{
"message": "The caller does not have permission",
"domain": "global",
"reason": "forbidden"}
],
"status": "PERMISSION_DENIED"}
}
И я поставлю свои коды, что вы увидите, чтобы помочь.
<?php
require_once __DIR__ . '/vendor/autoload.php';
define('APPLICATION_NAME', 'Google Sheets API PHP Quickstart');
define('CREDENTIALS_PATH', __DIR__ . '/service-account-credentials.json');
define('CLIENT_SECRET_PATH', __DIR__ . '/client_secret.json');
define('SCOPES', implode(' ', array(
Google_Service_Sheets::SPREADSHEETS)
));
putenv('GOOGLE_APPLICATION_CREDENTIALS='.CREDENTIALS_PATH);
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope(Google_Service_Drive::DRIVE);
$client->setApplicationName(APPLICATION_NAME);
$client->setScopes(SCOPES);
$tokenArray = $client->fetchAccessTokenWithAssertion();
$accessToken = $tokenArray["access_token"];
$service = new Google_Service_Sheets($client);
$spreadsheetId = "1qe7QwyYxWuIAYT7UUZ2s3KdDZrAHJ02uPH4VPrr-pMk";
$range = "Sheet1";
$response = $service->spreadsheets_values->get($spreadsheetId, $range);
$values = $response->getValues();
if (count($values) == 0) {
print "No data found.\n";
}
print_r($values);
Есть что-нибудь, чтобы подтвердить в коде? или консоль google API?
Любая информация будет глубоко цениться! заранее спасибо!
Задача ещё не решена.
Других решений пока нет …