Пакеты Laravel 5, Socialite и google/apiclient.
Исходный код: https://github.com/svpernova09/meatings
У меня есть человек, который отлично работает с Google для входа в систему.
Я пытаюсь сделать вызов API другим методом для извлечения событий календаря как зарегистрированного пользователя. Я зацикливаюсь на том, что использовать токены.
Ошибка, которую я получаю:
"error": "invalid_grant",
"error_description": "Код уже был выкуплен".
Мой метод:
public function show($user_id)
{
$user = $this->user->find($user_id);
$client = new Google_Client();
$client->setClientId(env('GOOGLE_CLIENT_ID'));
$client->setClientSecret(env('GOOGLE_CLIENT_SECRET'));
$client->setRedirectUri(env('GOOGLE_CALLBACK_URL'));
$client->authenticate($user->code);
$service = new Google_Service_Calendar($client);
$calendarId = $user->calendar_id;
$optParams = array(
'maxResults' => 5,
'orderBy' => 'startTime',
'singleEvents' => TRUE,
'timeMin' => date('c'),
);
$results = $service->events->listEvents($calendarId, $optParams);
$events = [];
if (count($results->getItems()) > 0) {
foreach ( $results->getItems() as $event ) {
$events[] = $event;
}
}
return view('users.calendar')->with('events', $events);
}
Выход Laravel:
Ошибка Google_Auth_Exception в строке OAuth2.php 127: Ошибка получения маркера доступа OAuth2, сообщение: 'invalid_grant'
$user-code выглядит так: 4/hfPzDrOHyaEv3asdfadsfasdfDw72nXIl0rt2boUpGj7hM.Um5wPgCeasdfasdfafd1t6qxkmwI
Любое руководство будет замечательным. Я не получаю нигде с руководствами Google.