Моя цель — сделать простейший запрос к Google Fusion Tables
от имени пользователей моего веб-приложения. Для этого я создал сервисный аккаунт в консоли Google. Вот код:
// Creating a google client
$client = new \Google_Client();
// setting the service acount credentials
$serviceAccountName = 'XXXXX.apps.googleusercontent.com';
$scopes= array(
'https://www.googleapis.com/auth/fusiontables',
'https://www.googleapis.com/auth/fusiontables.readonly',
);
$privateKey=file_get_contents('/path/to/privatekey.p12');
$privateKeyPassword='notasecret'; // the default one when generated in the console
$credential = new \Google_Auth_AssertionCredentials($serviceAccountName,
$scopes, $privateKey, $privateKeyPassword);
// setting assertion credentials
$client->setAssertionCredentials($credential);
$service = new \Google_Service_Fusiontables($client);
$sql = 'select name from XXXXXXXX';
$result = $service->query->sql($sql);
После запуска этого кода я получил эту ошибку:
Error refreshing the OAuth2 token, message: '{
"error" : "invalid_grant"
}'
Я искал это в течение нескольких дней, и большинство ответов говорят об обновлении токена. Я сделал это обновление, но все те же ошибки!
Любая идея для решения этой проблемы? Спасибо