Google OAuth2 Авторизация ошибки токена OAuth: redirect_uri_mismatch

Я создаю и авторизую токен OAuth согласно этой веб-странице: https://code.google.com/p/google-mail-oauth2-tools/wiki/OAuth2DotPyRunThrough

Но я получил эту ошибку: redirect_uri_mismatch.

The redirect URI in the request: urn:ietf:wg:oauth:2.0:oob did not match a registered redirect URI
from_login=1
cookie_policy_enforce=false
scope=https://mail.google.com/
response_type=code
access_type=online
redirect_uri=urn:ietf:wg:oauth:2.0:oob
as=-80019291b2cb8ed
display=page
pli=1
client_id=......
authuser=0
hl=en

Я подумал, что это может быть полезно: Авторизация Google OAuth 2 - Ошибка: redirect_uri_mismatch

Но когда я пытаюсь зарегистрировать URL-адрес перенаправления на мою консоль, мне сказали, что URL-адрес недействителен.

Ответ 1

Redirect_uri (urn: ietf: wg: oauth: 2.0: oob) применим только к тем идентификаторам клиентов Google, которые были созданы для установленных приложений. Вы можете перейти на консоль и создать новый идентификатор клиента этого типа.

Ответ 2

На всякий случай, если вы используете кнопку javascript Google+ (с веб-приложением), вы должны поместить postmessage вместо фактического URI. Мне нужно почти целый день, чтобы понять это, потому что документы Google явно не выдерживают этого по какой-то причине.

Ответ 3

Когда вы регистрируете свое приложение в https://code.google.com/apis/console и введите идентификатор клиента, вы получите возможность указать один или несколько перенаправлений URIs. Значение параметра redirect_uri в вашем URI авторизации должно точно соответствуют одному из них.

Ответ 4

Обратите внимание, что значение "redirect_uri" запроса Token должно совпадать с значением "redirect_uri" запроса авторизации.

Ответ 5

Для моего веб-приложения я исправил свою ошибку, написав

instead of : http://localhost:11472/authorize/
type :      http://localhost/authorize/

Ответ 6

Для тех, кто все еще в тупике с этой проблемой, вы должны установить "Платформа" в "Нативный (Windows Mobile, Blackberry, рабочий стол, устройства и т.д.)" при регистрации своего приложения в Google Cloud Console, он не позволит вам использовать "urn: ietf: wg: oauth: 2.0: oob" в качестве URI перенаправления.

Ответ 7

Потеряно 4 или 5 часов с этим... используйте "postmessage" как значение параметра, а не реальное перенаправление Uri...

$client->setRedirectUri('postmessage');

Ответ 8

В моем случае вместо создания веб-приложения я просто выбрал Other in: Идентификатор клиента OAuth > Другое

и т.д.

Ответ 9

2015July15 - рабочий вход начал вызывать ошибку 400 с помощью Error: redirect_uri_mismatch

Я разместил решение по аналогичному SO ВОПРОСУ: изменила загрузку script на

<script src="https://apis.google.com/js/client:platform.js?onload=startApp></script>