Не удается обновить токен доступа для API Календаря Google на стороне сервера

Мое клиентское приложение на iOS авторизует пользователя, получает токен доступа и токен обновления и отправляет его на мой сервер, где он хранится в базе данных.
Сервер подключается к календарю и получает события.
Проблема в том, что токен доступа не обновляется каким-либо образом с помощью токена обновления, и возвращается эта ошибка:

{
«ошибка»: «неавторизованный_клиент»,
«error_description»: «Unauthorized»}

public function sync($token, $expiresIn, $refreshToken, $created)
{

$client = new Google_Client();
$client->setApplicationName('Google Calendar Synchroniser');

$client->setScopes(Google_Service_Calendar::CALENDAR_READONLY);
$client->setAuthConfig('../client_secret_***************.apps.googleusercontent.com');
$client->setAccessType('offline');
$client->setApprovalPrompt('force');

$client->setAccessToken(json_encode([
'access_token' => $token,
'created' => $created,
'expires_in' => $expiresIn,
'refresh_token' => $refreshToken
], true));



//create google calendar service
$service = new Google_Service_Calendar($client);

//filter for events searching
$calendarId = 'primary';
$optParams = array(
'maxResults' => 10,
'singleEvents' => true
);

//get events
$results = $service->events->listEvents($calendarId, $optParams);

}

0

Решение

Вы можете проверить это связанный пост SO об ответе «unauthorized_client».
И помните, что вы должны предоставить доступ к своему приложению в панели управления вашего домена с помощью авторизация / делегирование вашей заявки чтобы избежать этой ошибки.

0

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

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

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