2012-07-04 132 views
16

Я делаю приложение с API Карт Google. Я хочу иметь одного человека на компьютере, посмотреть, что другой человек редактировал на карте. Я собираюсь передать информацию о карте в таблицу Google Fusion. Другой человек сможет видеть все как слой. Я хотел бы, чтобы программа просто запускалась из браузера пользователя и не создавала для нее веб-сайт.Правильный URL-адрес перенаправления для API Google и oauth 2.0

Чтобы отредактировать таблицы слияния, мне нужно получить доступ/токены. В настоящее время я пытаюсь использовать этот скрипт javascript для выполнения этого. ScriptSample.html, oauthWindow.html, и gwt-oauth2.js. Это working example.

Когда я запускаю их, я получаю сообщение об ошибке, в котором указано, что redirect_URI неверен. Он говорит, что файл, который я использую для перенаправления, не имеет полномочий. Мой первый очевидный вопрос: как я могу передать этот файл для перенаправления?

В моей консоли API я настроил ее как клиентское веб-приложение. Должен ли я изменить его на установленное приложение?

в настоящее время, мой Javascript происхождение: https: // локального

перенаправляет URI: https: //localhost/oauthWindow.html

Благодаря

+2

Вы серьезно используете URI с обратным вызовом на основе localhost? Это означает, что сервер OAuth должен отправить ответ самому себе, что не имеет смысла. Вы должны определенно использовать некоторый URL-адрес, доступный из внешней сети. –

+2

Извините, я ошибся, я должен исправить себя. URI обратного вызова используются только для перенаправления вашего браузера с результатом авторизации, поэтому URI на основе обратного вызова на основе localhost может работать теоретически. С другой стороны, он имеет серьезные проблемы с безопасностью, делая метод проверки обратного вызова URI бессмысленным. Как следствие, вы все равно должны обеспечить обратный вызов, доступный извне. –

+0

У меня проблемы с этим. По какой-то сверхъестественной причине Google решил, что мой URL-адрес перенаправления, который является 'https: // something', должен быть преобразован в' http: // something'. Это ужасно, потому что у моего сервера есть строгое требование для ssl/https, никаких исключений. – Automatico

ответ

12

Там нет никаких проблем с использованием LOCALHOST URL для Dev work - очевидно, его нужно изменить, когда дело доходит до производства.

Вы должны идти сюда: https://developers.google.com/accounts/docs/OAuth2 , а затем перейдите по ссылке для консоли API - ссылка в разделе Основные шаги. Когда вы заполнили новую форму заявки, вам будет предложено указать URL-адрес перенаправления. Поместите на страницу, на которую хотите перейти, как только будет предоставлен доступ.

При формировании URL-адреса Google oAuth - вам нужно указать URL-адрес перенаправления - он должен быть точным совпадением или у вас будут проблемы. Он также должен быть UrlEncoded.

+0

Итак, если я хочу перенаправить на страницу, размещенную на локальном, скажем - localhost: 9090/index.html, я могу дать этот точный url? – moaglee

+1

@mystikacid да. Вам также нужно включить часть http: // '(protocol) – PSWai

Смежные вопросы