Попытка получить доступ к GoogleToken

Кажется, что независимо от того, что я делаю, Google старается изо всех сил, чтобы остановить меня от завершения этого исследовательского проекта. В моем проекте я использую электронную таблицу Google в качестве базы данных и использую данные из этой электронной таблицы для программного поиска Google Images, а также для отображения нескольких результатов конечному пользователю.

Инструкция по настройке

Я начал с следующих инструкций: https://github.com/asimlqt/php-google-spreadsheet-client . Я загрузил Композитор на мой компьютер, а затем следуйте инструкциям Вот а также Вот чтобы Composer загрузил необходимые библиотеки в мой проект.

Процесс кодирования
Оттуда я попытался повторить то, что этот парень делал в своем ответе. На самом деле, вот мой код:

<?php
require "vendor/autoload.php";
//require '/php-google-spreadsheet-client-master\src\Google\Spreadsheet\Autoloader.php';

use Google\Spreadsheet\DefaultServiceRequest;
use Google\Spreadsheet\ServiceRequestFactory;

const GOOGLE_CLIENT_ID = 'someClientID'; // here, I just pulled the default client ID from my Google Developers account
const GOOGLE_CLIENT_EMAIL = 'someClientEmail'; // I used the default client email here as well, again, straight from Google Developers account
const GOOGLE_CLIENT_KEY = 'someKey'; // I used the key that I used for the Google Custom Search Engine
const GOOGLE_CLIENT_KEY_PATH = 'vendor\google\apiclient\examples\key.p12'; // I did a search on my project folder for the .p12 file that had the key information, and used that path here
const G_CLIENT_KEY_PW   = 'notasecret'; // the default (I don't know why I need to do this)

// setup the googleClient
$googleClient = new Google_Client();
$googleClient->setApplicationName('future-graph-611');
$googleClient->setClientId(GOOGLE_CLIENT_ID);
$googleClient->setAssertionCredentials(new Google_Auth_AssertionCredentials(
GOOGLE_CLIENT_EMAIL,
array('https://spreadsheets.google.com/feeds','https://docs.google.com/feeds'),
file_get_contents(GOOGLE_CLIENT_KEY_PATH),  // Why can't I use the hard-coded GOOGLE_CLIENT_KEY here?
G_CLIENT_KEY_PW
));
//$googleClient->setAccessType('offline');
// get an accessToken
try
{
$googleClient->getAuth()->refreshTokenWithAssertion();  // the problem is here, on this line
}
catch (Google_Auth_Exception $exception)
{
echo $exception->getMessage();
}
$accessToken = json_decode($googleClient->getAccessToken());
$accessToken = $accessToken->access_token;
?>

По какой-то причине оператор в блоке try выдает исключение: ошибка при обновлении токена OAuth2, сообщение: ‘{«error»: «invalid_grant»}’.

Какого черта я делаю не так? Что еще мне нужно сделать, чтобы это работало ??

0

Решение

Я думаю, что нашел ответ на свой вопрос здесь: https://github.com/asimlqt/php-google-spreadsheet-client/issues/24

/ * У них по какой-то причине возникли проблемы на линии CURLOPT_SSL_VERIFYPEER => true (и исправил это, установив этот индекс в false) * /

Также, echo $SpencerWieczorek->getResponse($this->getQuestion());

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]