У меня есть веб-приложение, в котором Google OAuth2.0 используется как платформа входа. Он работает до вчерашнего дня. При истечении токена доступа аппликация не смогла получить токен обновления. Кроме того, на странице «Запрос на разрешение» были внесены изменения в «Использовать автономный доступ» вместо «Знать, кто вы в Google» и «Просмотреть адрес электронной почты»Идентификатор доступа OAuth 2.0 истек, а токен обновления не доступен
Первоначально страница «Запрос на разрешение» запрашивала доступ к «Знайте, кто вы в Google» и «Просмотреть электронную почту». После выхода из системы и повторного входа в систему, страница «Запрос на разрешение» будет одинаковой.
Однако до вчерашнего дня страница «Запрос на разрешение» была изменена на «Доступ к автономному доступу». После того, как токен доступа истек, я получил сообщение об ошибке ниже:
PHP Неустранимая ошибка: исключить исключение «Google_AuthException» с сообщением «Ток доступа к OAuth 2.0 истек, а токен обновления недоступен. Обновленные токены не возвращаются для ответов, которые были автоматически одобрены. ' в /home2/xxxx/public_html/test/google-api-php-client/src/auth/Google_OAuth2.php:221
Я пробовал $client->setAccessType('online');
. Тем не менее, я до сих пор получил эту фатальную ошибку со мной. Ниже мой код, чтобы получить маркер доступа:
if ($client->getAccessToken()) {
$token = $client->getAccessToken();
$authObj = json_decode($token);
$refreshToken = $authObj->refresh_token;
$user = $oauth2->userinfo->get();
$me = $plus->people->get('me');
$email = filter_var($user['email'], FILTER_SANITIZE_EMAIL); // get the USER EMAIL ADDRESS using OAuth2
$optParams = array('maxResults' => 100);
$activities = $plus->activities->listActivities('me', 'public', $optParams);
$_SESSION['access_token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
}
Я пытался искать похожие проблемы, как я, но я не мог найти. Это произошло со вчерашнего дня. До этого я никогда не делал никаких изменений в кодах.
Насколько я знаю, они немного изменили управление безопасностью. Если теперь вы предоставляете доступ к приложению, Google знает в будущем, какие разрешения вы запрашивали и сохраняете, и вас снова спрашивают, если вы хотите иметь новые разрешения или автономный доступ. Я думаю, это была временная ошибка, пока они обновляли свою систему, потому что сейчас я не испытываю никаких проблем. –
Обновление: вы правы, я также не могу использовать токены обновления ... –
Можете ли вы рассказать мне, как избавиться от этого? – Akilsree1