Авторизация Youtube oauth2 возвращает redirect_uri_mismatch

#python-3.x #oauth-2.0 #google-api #youtube-api

#python-3.x #oauth-2.0 #google-api #youtube-api

Вопрос:

Я пытаюсь получить доступ к API Youtube через python, чтобы я мог вставлять видео в список воспроизведения. Для этого я должен использовать oauth2 для авторизации. Я просмотрел много руководств и видеороликов и следовал их инструкциям шаг за шагом, но я всегда получаю один и тот же результат, говоря Error 400: redirect_uri_mismatch

Код, который я использую, является

 from google_auth_oauthlib.flow import InstalledAppFlow

flow = InstalledAppFlow.from_client_secrets_file("client_secrets.json", scopes=['https://www.googleapis.com/auth/youtube.force-ssl'])
flow.run_local_server(port=8080, prompt='consent')
credentials = flow.credentials
print(credentials.to_json())
  

Я также пробовал

 from google_auth_oauthlib.flow import InstalledAppFlow

flow = InstalledAppFlow.from_client_secrets_file("client_secrets.json", scopes=['https://www.googleapis.com/auth/youtube.force-ssl'])
flow.run_console()
credentials = flow.credentials
print(credentials.to_json())
  

Я понимаю, что это происходит, когда существует несоответствие между redirect_uri на стороне запроса и тем, что указано в консоли. Но я трижды проверил это на https://console.developers.google.com/У меня должен быть URI перенаправления http://localhost.com:8080 и проверили, чтобы убедиться, что мой client_secrets.файл json отражает то же самое. Я установил, что мои источники JavaScript также будут http://localhost.com:8080 . Я установил для своего oauth ClientID веб-приложение, поскольку я запускаю его в pycharm. Однако всякий раз, когда я запускаю свой код, я получаю ту же ошибку: The redirect URI in the request, http://localhost:8080/, does not match the ones authorized for the OAuth client. To update the authorized redirect URIs, visit: https://console.developers.google.com/apis/credentials/oauthclient/${your_client_id}?project=${your_project_number}

Я рассмотрел другие вопросы по StackOverflow и попробовал предложенные решения, но ни одно из них не сработало. Я понятия не имею, почему я не могу получить авторизацию и отчаянно нуждаюсь в помощи

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

1. Я подозреваю, что вы имеете в виду http://localhost:8080 вместо http://localhost.com:8080 .

2. ДА. Я перепробовал все разные формы localhost и до сих пор не повезло