В настоящее время я пытаюсь уловить крайний случай, когда пользователь удаляет мое приложение как стороннее приложение, не уведомляя нас о событии.В настоящее время я не знаю, каким образом Google мог бы сообщить мне, если токен был отозван, пока я не получу google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', '{\n "error": "invalid_grant",\n "error_description": "Token has been expired or revoked."\n}')
. Я пытался вручную «пинговать» клиент Google, прежде чем авторизовать пользователя., но это кажется немного медленнее, чем просто обнаружение и обработка ошибки при ее возникновении.Я также попытался напрямую импортировать ошибку аутентификации.import google.auth.exceptions.RefreshError as AuthError
Получение учетных данных:
storage = Storage(GCalUser, 'gcal_user', request.user, 'credentials')
user_credentials = storage.get()
Фактический вызов:
try:
calendar_service = googleapiclient.discovery.build('calendar', 'v3', credentials=user_credentials)
print("Error 2: " + str(calendar_service))
except calendar_service:
pass
Поиск способа перенаправить пользователя на другую страницу при возникновении ошибки наавт.В настоящее время это просто не удается с google.auth.exceptions.RefreshError: ('invalid_grant: Token has been expired or revoked.', '{\n "error": "invalid_grant",\n "error_description": "Token has been expired or revoked."\n}')