Ошибка клиента Google API Python

Я хочу иметь скрипт для получения домашней ленты Google+. Я использую для этого скрипт. Файл client-secrets.json:

{
 "web": {
   "client_id": "##########",
   "client_secret": "############",
   "redirect_uris": ["http://localhost:8080/oauth2callback/"],
   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
   "token_uri": "https://accounts.google.com/o/oauth2/token",
   "client_email":"##########@developer.gserviceaccount.com",
   "javascript_origins":["http://localhost:8080/"]
        }
}

Но когда я хочу запустить это приложение, оно открывает страницу с ошибкой и сломанным роботом:

The redirect URI in the request: http://localhost:8080/ did not match a registered redirect URI

Пожалуйста, помогите мне с моей проблемой.


person Max L    schedule 04.02.2013    source источник


Ответы (3)


Я нашел решение! Вам следует создать еще один Client ID, но уже для настольного приложения! После этого вам нужно использовать его client_id и client_secret. Он работает для разработки без хостинга.

person Max L    schedule 06.02.2013
comment
Ты делаешь мой вечер. Я потратил 2 часа, пока не нашел этот ответ, Google нужно нанять других ребят, чтобы они написали для них документацию. - person xwild; 21.07.2014

Значения, которые вы использовали для client_id и client_secret, соответствуют проекту Google API, который вы создали, и доступ к которому будет осуществляться через

https://code.google.com/apis/console/?pli=1#project:XYZ

где XYZ — идентификатор вашего проекта.

В этом проекте вам необходимо убедиться, что http://localhost:8080/ является URI перенаправления,

  1. Перейдите на вкладку «Доступ к API» справа.
  2. Поиск соответствующего поля «Идентификатор клиента для веб-приложений» для вашего приложения
  3. Нажав "Изменить настройки..."
  4. Добавление http://localhost:8080/ в поле «Авторизованные URI перенаправления»
person bossylobster    schedule 05.02.2013

Запуск локального сервера на порту 80 и создание URL-адресов конфигурации просто http://localhost исправили это для меня.

например для вашего случая

{
 "web": {
   "client_id": "##########",
   "client_secret": "############",
   "redirect_uris": ["http://localhost/oauth2callback/"],
   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
   "token_uri": "https://accounts.google.com/o/oauth2/token",
   "client_email":"##########@developer.gserviceaccount.com",
   "javascript_origins":["http://localhost"]
        }
}
person david_adler    schedule 02.11.2013