Ошибка: redirect_uri_mismatch pydrive

Я пытаюсь подключиться к Google диску, и для этого я использую библиотеку python pydrive. Я следил за документацией и написал фрагмент для подключения к Google диску. Но я получаю сообщение об ошибке Ошибка: redirect_uri_mismatch

URI перенаправления в запросе, http://localhost:8080/, не соответствует тем, которые разрешены для OAuth. клиент. Чтобы обновить авторизованные URI перенаправления

Вот код pydrive, который я выполнил (я также установил библиотеку pydrive)

from pydrive.auth import GoogleAuth

gauth = GoogleAuth()
gauth.LocalWebserverAuth()

Я публикую изображение своей учетной записи console.developer, вы можете видеть, что я правильно написал адрес, как указано в документации pydrive. Я также добавил обратный вызов в URL-адрес, но все равно получаю ту же ошибку. Любая помощь будет оценена по достоинству. Спасибо, Аккаунт Console.developers

Добавлен обратный вызов

Это содержимое моего файла client_secrets.json:

{"web": {, "project_id": "my-project-1532814702018", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token "," auth_provider_x509_cert_url ":" https://www.googleapis.com/oauth2/v1/certs", "redirect_uris": ["http://localhost:8080/oauth2callback"], "javascript_origins": ["http://localhost "," http://localhost:8080 "]}}

(Я удалил здесь идентификатор клиента и секрет клиента)


person Shoaib Malik    schedule 29.07.2018    source источник


Ответы (4)


Я знаю, что сейчас немного поздно, но это может помочь кому-то, кто сталкивается с этой проблемой. Для меня это было действительно глупо. В поле «URI авторизованного перенаправления» должно быть указано «http://localhost:8080/» с косой чертой в конце. В поле «Авторизованные источники JavaScript» это должно быть «http://localhost:8080» без косой черты.

person RobertoC    schedule 18.03.2020

Измените URL-адрес и замените http://localhost:8080/ на http://localhost:8080

меня устраивает

person Ijaz Ur Rahim    schedule 16.02.2019

Ты почти там. Просто добавьте / oauth2callback, как указано в серых текстах.

Итак, в разделе «URI авторизованного перенаправления»:

http://localhost:8080/oauth2callback
person noogui    schedule 30.07.2018
comment
Я изменил URL-адрес, как вы сказали, но все еще получаю ту же ошибку :( Я обновил свой вопрос и добавил другое изображение. - person Shoaib Malik; 30.07.2018
comment
загрузите новый credentials.json. Возможно, вы все еще используете старый файл credentials.json - person noogui; 30.07.2018
comment
нет, файл, который я использую, обновлен, вы можете увидеть ссылки в redirect_uris (я обновил вопрос) - person Shoaib Malik; 30.07.2018
comment
Можете ли вы оставить библиотеку pydrive и пока что использовать это краткое руководство: developers.google. com / drive / api / v3 / quickstart / python - person noogui; 30.07.2018
comment
хорошо, я могу попробовать это, но в pydrive есть встроенные функции, которые были бы действительно полезны :( - person Shoaib Malik; 30.07.2018
comment
это нужно для того, чтобы определить, связана ли проблема с pydrive или с вашей реализацией. отладочное дзюцу - person noogui; 30.07.2018
comment
google drive quickstart работает успешно, поэтому проблема в pydrive, я думаю - person Shoaib Malik; 30.07.2018
comment
Позвольте нам продолжить это обсуждение в чате. - person Shoaib Malik; 31.07.2018
comment
Вы нашли решение? - person Tristan Müller; 08.04.2021

Кажется, что API Google изменил свою политику в отношении авторизованных доменов, я слышал, что есть удаленный домен, который перенаправляет на localhost? или вы можете изменить свой файл hosts ... это не имеет смысла, потому что Google поддерживает использование api в собственных приложениях, зачем им доменное имя?

person Edo Edo    schedule 20.08.2019