Я создал приложение, которое требует областей применения Google, и оно работало до сих пор. Я получаю эту ошибку:
Error ERROR:Scope has changed from "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://mail.google.com" to "https://mail.google.com/ https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile".
"https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile https://mail.google.com"
"https://mail.google.com/ https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"
Насколько я вижу, объем НЕ изменился. Есть 3 области действия до и после, но изменился только порядок.
Код Python для этого здесь:
try: credentials = oauth.fetch_token('https://accounts.google.com/o/oauth2/token', authorization_response = full_authorization_response_url, client_secret=client_secret) except Exception as e: import traceback print(traceback.format_exc()) credentials = 'ERROR:'+str(e) if type(credentials) in (str,unicode): return "Error<br>"+credentials
это последняя строка, которая кажется уместной. Итак, Google говорит, что область действия изменилась, но я не могу понять, почему или как это исправить, поскольку она не изменилась.
Я обнаружил, что ослабление области действия токенов на сервере решило эту проблему. Очевидно, он ожидает те же области в том же порядке, если вы не добавите эту строку:
os.environ['OAUTHLIB_RELAX_TOKEN_SCOPE'] = '1'