В PHP я пытаюсь получить доступ к электронным книгам Google через API Google, но я получаю эту ошибку.
Неустранимая ошибка: необработанное исключение ‘Google_Service_Exception’ с
сообщение «Ошибка вызова GET
https://www.googleapis.com/books/v1/volumes?q=Henry+David+Thoreau&фильтр = свободные-электронные книги&ключ = AIzaSyCc5s6WLKl9SrvlsN-8yXO6Cmd4qeAYR08:
(403) Недостаточное разрешение в
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Http/REST.php:110
Трассировка стека: # 0
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Http/REST.php(62):
Google_Http_REST :: decodeHttpResponse (Object (Google_Http_Request),
Объект (Google_Client)) # 1 [внутренняя функция]:
Google_Http_REST :: doExecute (Object (Google_Client),
Объект (Google_Http_Request)) # 2
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Task/Runner.php(174):
call_user_func_array (Array, Array) # 3
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Http/REST.php(46):
Google_Task_Runner-> run () # 4
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Client.php(593):
Google_Http_REST :: execute (Object (Google_Client), Object (Перейти в
/home/stealthbeta/public_html/google-api-php-client-master/src/Google/Http/REST.php
на линии 110
Вот мой код:
require_once 'src/Google/autoload.php';
require_once 'src/Google/Client.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("XXXXXX");
$client->setClientId("XXXXXXX");
$client->setClientSecret('XXXXX');
$client->setRedirectUri('XXXXX');
$client->setScopes(array('https://www.googleapis.com/auth/books'));
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
}
if ($client->getAccessToken()) {
$service = new Google_Service_Books($client);
$optParams = array('filter' => 'free-ebooks');
$results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
foreach ($results as $item) {
echo $item['volumeInfo']['title'], "<br /> \n";
}
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
}
Как это исправить?
Задача ещё не решена.
Других решений пока нет …