Не удается обновить токен доступа для API Календаря Google на стороне сервера - PullRequest
0 голосов
/ 22 октября 2018

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

{"error": "unauthorized_client", "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);

}

1 Ответ

0 голосов
/ 23 октября 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...