Ошибка авторизации Ошибка 400: redirect_uri_mismatch

#python

Вопрос:

почему возникает эта ошибка и как я могу ее решить :

Вы не можете войти в это приложение, потому что оно не соответствует политике Google OAuth 2.0

когда я нажимаю на URL авторизации после того, как этот URL открылся в браузере.

Я следую руководству по быстрому запуску API Gmail на Python, чтобы авторизовать пользователя для API Gmail. Я создал приложение типа веб-приложения в консоли Google и сгенерировал файл учетных данных.json. Я предоставил перенаправление_ури .

Когда я запускаю quickstart.py.когда я нажимаю на URL авторизации после того, как этот URL открылся в браузере.

После того, как я открою ссылку в браузере, она отобразит эту ошибку:-

https://accounts.google.com/signin/oauth/error?authError=ChVyZWRpcmVjdF91cmlfbWlzbWF0Y2gSsAEKWW91IGNhbid0IHNpZ24gaW4gdG8gdGhpcyBhcHAgYmVjYXVzZSBpdCBkb2Vzbid0IGNvbXBseSB3aXRoIEdvb2dsZSdzIE9BdXRoIDIuMCBwb2xpY3kuCgpJZiB5b3UncmUgdGhlIGFwcCBkZXZlbG9wZXIsIHJlZ2lzdGVyIHRoZSByZWRpcmVjdCBVUkkgaW4gdGhlIEdvb2dsZSBDbG91ZCBDb25zb2xlLgogIBptaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vaWRlbnRpdHkvcHJvdG9jb2xzL29hdXRoMi93ZWItc2VydmVyI2F1dGhvcml6YXRpb24tZXJyb3JzLXJlZGlyZWN0LXVyaS1taXNtYXRjaCCQAyomCgxyZWRpcmVjdF91cmkSFmh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC8=amp;client_id=221990959960-40vsl59admu9j2v8lab1h7rgivo3o7ue.apps.googleusercontent.com

Я не могу понять, почему возникает эта проблема.Я хочу позвонить в Gmail API.

Созданная облачная учетная запись :- [1]: https://i.stack.imgur.com/hls5P.png
[2]: https://i.stack.imgur.com/2zHW0.png
[3]: https://i.stack.imgur.com/oeMgf.png

ОБЛАСТИ ПРИМЕНЕНИЯ = [‘https://www.googleapis.com/auth/gmail.readonly’]

 creds = None
if os.path.exists('token.json'):   
    creds =Credentials.from_authorized_user_file('token.json', SCOPES)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file( 'creds.json', SCOPES)
            creds = flow.run_local_server()
        with open('token.json', 'w') as token: 
            token.write(creds.to_json())
service = build('gmail', 'v1', credentials=creds)
results = service.users().labels().list(userId='me').execute()
 

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

2. отредактированное сообщение с кодом . пожалуйста, проверьте это.

Ответ №1:

Как указано в API на странице ошибок, возможно, вы неправильно настроили redirect_uri страницы входа в систему. Пожалуйста, убедитесь, что у вас нет опечаток, связанных с»http»-«https». В прошлом году я столкнулся с той же проблемой при настройке своей страницы входа в систему и вместо того, чтобы использовать URL-адрес с https, я ввел URL-адрес с http.

Вам также следует дважды проверить redirect_uri и убедиться, что URL-адрес входа имеет параметр redirect_uri. Без этого Google не сможет определить, куда будет перенаправлена страница входа.

Если это не поможет, перейдите к консоли для вашего проекта и просмотрите раздел Доступ к API. Вы должны увидеть там свой идентификатор клиента и секрет клиента, а также список URI перенаправления. Если нужного URI нет в списке, нажмите кнопку Изменить параметры и добавьте его в список.

Комментарии:

1. пожалуйста, проверьте выше отредактированное сообщение с URL-адресом перенаправления .