2012-07-04 10 views
16

Google Maps APIを使用してアプリケーションを作成しています。私はコンピュータ上に一人の人間を持つことができ、他の人が地図に編集したものを見ることができるようにしたい。私はマップの情報をGoogle Fusion Tableに渡すことを考えています。他の人はすべてをレイヤーとして見ることができます。私は、プログラムがユーザーのブラウザから実行され、そのWebサイトを構築しないようにしたいと思います。Google APIとoauth 2.0のリダイレクトURIを修正しました

フュージョンテーブルを編集するには、アクセス/トークンを取得する必要があります。私は現在、これを達成するためにこれらのjavascriptスクリプトを使用しようとしています。 ScriptSample.html,oauthWindow.html、およびgwt-oauth2.jsである。これはworking exampleです。

私がそれらを実行すると、redirect_URIが間違っているというエラーが表示されます。リダイレクトに使用するファイルには権限がないと言われています。私の最初の明白な質問は:どのように私はリダイレクトするファイル権限を与えるのですか?

私のAPIコンソールでは、クライアントサイドWebアプリケーションとして設定しています。インストールしたアプリケーションに変更する必要がありますか?

現在、私のjavascriptの起源は次のとおりです。https:// localhostの

は、URIをリダイレクトします。https://localhost/oauthWindow.html

おかげ

+2

localhostベースのコールバックURIを使用していますか?つまり、OAuthサーバーは応答を自分自身に送信する必要がありますが、意味がありません。間違いなく、外部ネットワークからアクセス可能なURLを使用する必要があります。 –

+2

申し訳ありません、私は間違っていました、私は自分自身を修正する必要があります。コールバックURIは、認証結果とともにブラウザをリダイレクトするためにのみ使用されるため、ローカルホストベースのコールバックURIは理論上は機能します。一方、セキュリティ上の重大な問題があり、コールバックURI全体のチェック方法が無意味になります。その結果、外部からアクセス可能なコールバックを提供する必要があります。 –

+0

私はこれにも問題があります。いくつかの超奇妙な理由のために、Googleは、私のリダイレクトURLである 'https:// something'を' http:// something'に変換することを決めました。私のサーバーはssl/httpsの厳しい要件を持っているので、これは恐ろしいことですが、例外はありません。 – Automatico

答えて

12

にlocalhostのURLを使用しても問題はありません開発作業 - 明らかに、生産に移すには変更する必要があります。

https://developers.google.com/accounts/docs/OAuth2 に移動して、[基本手順]セクションのAPIコンソールリンクのリンクに従ってください。新しい申請書に記入したら、リダイレクトURLを入力するよう求められます。アクセスが許可されたら、あなたが行きたいページを入れてください。

Google oAuth Urlを作成するときには、リダイレクトURLを含める必要があります。完全一致である必要があります。そうでないと問題が発生します。また、UrlEncodedする必要があります。

+0

ローカルでホストされているページでリダイレクトしたい場合、 - localhost:9090/index.htmlこの正確なURLを教えてください。 – moaglee

+1

@mystikacidはい。 'http://'(プロトコル)部分も含める必要があります – PSWai

関連する問題