web-dev-qa-db-ja.com

GoogleマップJavaScript API RefererNotAllowedMapError

私たちはクライアントの1人向けのジオプレースメントアプリを開発しようとしています、そして私たちは最初にそれを自分のドメイン外でテストしたいと思います。

Google Maps JavaScript APIに署名しました。有効なブラウザキーがあり、ドメインwww.grupocamaleon.comにそのキーの使用が承認されています。

しかし、最も簡単な例でもエラーなく実行することはできません。

私達のドメイン内でそして私達の鍵と一緒に次のデモを持っています:

(1) http://www.grupocamaleon.com/boceto/aerial-simple.html

しかし、それはうまくいきません、そしてFirebugコンソールは言います:

"Google Maps APIエラー:Google Maps APIエラー:RefererNotAllowedMapError(RefererNotAllowedMapErrorのGoogleドキュメントへのリンク)承認されるサイトのURL:(1)"

私の資格情報ページには、参照元を受け入れるための追加の可能性が欠けているため、参照元の追加を含む解決策は現時点では不可能です。

私の資格情報ページ:

enter image description here

なぜそのようなエラーが発生するのでしょうか。どうすれば修正できますか?

これはすでにいくつかの答えがある古い質問ですが、私も同じ問題を抱えていました。私にとって問題は、console.developers.google.comで提供されている例に従って、*.domain.tld/*の形式でドメインを入力したことです。これはまったく機能せず、domain.tlddomain.tld/**.domain.tldなど、これにあらゆる種類のバリエーションを追加しようとしました。

私にとってそれを解決したのは、実際のプロトコルも追加したことです。 http://domain.tld/*は、サイトで機能するために必要な唯一のものです。 HTTPSに切り替える場合は、https://domain.tld/*を追加する必要があると思います。

更新:Googleはプレースホルダーを更新し、httpを含めるようになりました。

Google Maps API referrer input field

155
powerbuoy

グーグルに来て、あなたはみんなAPIクレデンシャルページが許すよりスマートだ。 (私は2人の息子が働いているので知っています。)

「参照元」のリストは、許可されているものよりはるかに賢いものです。 (もちろん、もっと寛容になるべきです。)発見するのに時間かかる規則をいくつか示します。

おそらく他にもルールがありますが、これは退屈な推測ゲームです。

20
Rick James

ドキュメントによると、「RefererNotAllowedMapError」は

Google Maps JavaScript APIをロードしている現在のURLは、許可された参照元のリストに追加されていません。 Google Developers ConsoleでAPIキーのリファラー設定を確認してください。

私はGoogle Maps Embed APIを自分の個人用または仕事用に設定したので、これまでのところHTTP参照元を指定していません。エラーを登録しません。あなたの設定は、訪問しているURLが登録されていないか許可されていないとGoogleに判断させる必要があります。

enter image description here

16
TRose

私はGoogleがフォームフィールドに入力した例に欠陥があることに気付くまで、さまざまなリファラーのバリエーションを試し、5分間待ちました。彼らは示す:

*.example.com/*

ただし、ドメイン名の前にsubdomain.またはwww.がある場合にのみ機能します。次のことがすぐにうまくいきました(Googleの例から先頭のピリオドを省略)。

*example.com/*
14
ow3n

変更した場合、設定が反映されるまでに最大5分かかる場合があります。

11
Putu De

グーグルドキュメント によると、これは、Google Maps APIを使用しているurlが、not registered内のlist of allowed referrersであるために起こりました

編集:

Googleドキュメントから

指定したドメインのすべてのサブドメインも承認されます。

http://example.com が承認されている場合は、 http://www.example.com も許可されています。逆のことは言えません。 http://www.example.com が認証されている場合、 http:// example.com は必ずしも承認されていません

それで、http://testdomain.comドメインを設定してください、そしてあなたのhttp://www.testdomain.comは仕事を始めます。

9
RIYAJ KHAN

正しいAPISが有効になっていることも確認してください。

私は上記のすべて、アスタリスク、ドメインTLD、スラッシュ、バックスラッシュ、そしてすべてを試しました。

これはすべてうまくいきませんでした。最後に、Googleでは、使用するAPIを今すぐ指定する必要があることに気付きました(スクリーンショット参照)

enter image description here

有効にする必要があるものがありませんでした(私にとってはMaps JavaScript APIでした)。

有効にすると、すべて次のものを使用して正常に動作しました。

http://www.example.com/ *

私はそれが誰かに役立つことを願っています! :)

9
David Robertson

私はあなたのHTTP Referreresさえ十分に有効であることを発見しました、API Restrictionsの間違ったセットはGoogle Maps JavaScript API error: RefererNotAllowedMapErrorを引き起こします。

例えば:

  • キーにJavascript APIを使用しています。
  • http://localhost/*Application Restrictions / HTTP Referrencesに追加
  • Maps Embed APIの代わりにMaps Javascript APIを選択してください
  • これはRefererNotAllowedMapErrorを引き起こします
7
hiroshi

数年の間に多くの想定される解決策があります、そして、いくつかはもはや働かないで、何もしなかったので、私の最新の2018年7月の終わりごとに働く。

設定:

Google Maps JavaScript APIは正しく動作する必要があります…

  • aPIを呼び出す複数のドメイン:example.comexample.net
  • 任意のサブドメイン:user22656.example.comなど.
  • 安全なHTTPプロトコルと標準のHTTPプロトコルの両方:http://www.example.com/https://example.net/
  • 無期限のパス構造(つまり、多数の異なるURLパス)

解決策:

  • 実際にはプレースホルダーからのパターンを使っています:<https (or) http>://*.example.com/*
  • プロトコルを省略するのではなく、ドメインごとに2つのエントリ(プロトコルごとに1つ)を追加します。
  • サブドメインの追加エントリ(*.がホスト名の先頭に付きます)。
  • 私はRefererNotAllowedMapErrorエラーがまだ適切な設定を使用して(そして十分な時間を待って)現れたように感じました。認証情報キーを削除し、要求を繰り返し(現在はInvalidKeyMapErrorになります)、新しい認証情報を(まったく同じ設定を使用して)作成しましたが、それ以降はうまくいきました。
  • 単なるプロトコルとドメインを追加しても、サブドメインは含まれていないようです。
  • いずれかのドメインでは、作業構成は次のようになります。

Screenshot from Google API configuration

(テキストとして:)

Accept requests from these HTTP referrers (web sites)
    https://*.example.com/*
    https://example.com/*
    http://*.example.com/*
    http://example.com/*
5
dakab

enter image description here

これらのHTTPリファラー(Webサイト)からのリクエストを受け付ける

Localhostディレクトリパスを書き込む

4

私は同じエラーを経験しました:

enter image description here 

このリンクでは、APIキーの制限を設定する方法について説明しています。 https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions

私の場合、問題は、私がこの制限を使用していたことです。

HTTPリファラー(Webサイト)これらのHTTPリファラー(Webサイト)からの要求を受け入れます(オプション)ワイルドカードに*を使用します。これを空白のままにした場合、リクエストはどの参照元からも受け付けられます。本番でこのキーを使用する前に、必ず参照元を追加してください。 https://*.example.net/*

つまり、 https://www.example.net または https://m.example.net または https://www.example.net/San-salvador/などのURLです。 うまくいくでしょう。ただし、 https://example.net または https://example.net または https://example.net/San-salvador/ などのURLは機能しません。私は単に2番目の参照元を追加する必要がありました:

https://example.net/*

これで問題は解決しました。

3
Jaime Montoya

より深いネストページの場合

たとえばフォルダー内にプロジェクトがある場合や入れ子になったページがある場合

これを入力できるhttp://yourdomain.com/your-folder/your-page

http://yourdomain.com/*/*

どれだけ遠くまで行く必要があるかによって、重要な部分は/*/*/*です

*/と一致しないか、より深いパスに入りません。

これよりも深いネストがない限り、これによってフルドメインアクセスが可能になります。

3
Radmation

あなたはあなたのapi信任状ページのスクリーンショットを見せます、しかし、あなたは「ブラウザキー1」をクリックしてそして参照者を加えるためにそこから行く必要があります。

3
ITwrx

サブドメインでは、ワイルドカード(アスタリスク)は使用できません

  • 間違って:* .example.com/*
  • 右:example.com/*

Googleがプレースホルダーに言っていることを忘れて、それは許可されていません。

2
Daniel Loureiro

2つのウェブサイトドメインを追加し、サブドメインに "*"を設定しても機能しませんが、同じGoogle Map APIキーを使用して特定のサブドメイン "WWW"と非サブドメインが機能しています。

サブドメインで「*」を使用しないでください

お役に立てば幸いです。

2
Pare
  1. お支払いが有効になっていること

  2. あなたのウェブサイトがGoogleコンソールに追加されたこと

  3. あなたのウェブサイトがあなたのアプリの参照元に追加されていること。

  4. (wwwとnone wwwの両方にワイルドカードを使用します)

http://www.example.com/ *および http://example.com/ *

  1. Javascript Mapsが有効になっており、正しい認証情報を使用していること

  2. 上記のGoogleコンソールを有効にするために、WebサイトがDNSに追加されていること。

  3. それが働いた後に微笑んでください!

2
Morris

グーグルからのこの助言を使用することによって私はついに私の仕事を得ました:( https://support.google.com/webmasters/answer/35179

これがドメインとサイトの定義です。これらの定義は、検索コンソールの検証に固有のものです。

http://example.com/ - A site (because it includes the http:// prefix)
example.com/ - A domain (because it doesn't include a protocol prefix)
puppies.example.com/ - A subdomain of example.com
http://example.com/petstore/ - A subdirectory of http://example.com site
2
jmm

RefererNotAllowedMapErrorが請求アカウントがプロジェクトにリンクされていないことによって引き起こされる可能性があることが判明するまで、これらの修正はどれも私にとって役に立ちませんでした。だからあなたの無料トライアルか何かを有効にするようにしてください。

1
Owen Masback

私もこの作品を作るのに苦労しましたが、ここにいくつかのポインタがあります:

  • リファラーとして設定されるURLには、httpが含まれます。 http://example.com/*
  • Google Maps JavaScript APIが有効になりました
  • このアカウントで請求が設定されました

上記のすべてが解決されると、マップは期待どおりに表示されました。

1
FMCorz

これはひどい実装をしているもう一つのかわいいGoogle製品です。

私がこれで見つけた問題はあなたがIPアドレスによってAPIキーを制限するならば、それが機能しないということです...しかし、この点を明確にすることはグーグルからそれほど遠くありません...

IPアドレス制限付きのAPIキーは、サーバー側からの使用を目的としたWebサービス(ジオコーディングAPIや他のWebサービスAPIなど)でのみ使用できます。これらのWebサービスのほとんどは、Maps JavaScript API内に同等のサービスがあります(たとえば、ジオコーディングサービスを参照)。 Maps JavaScript APIクライアントサイドサービスを使用するには、HTTP参照元制限で保護できる別のAPIキーを作成する必要があります(APIキーの制限を参照)。

https://developers.google.com/maps/documentation/javascript/error-messages

FFS Google ...セットアップについて明確にしておくとよいでしょう。かなり重要な情報です。

1
php-b-grader

http://www.example.com/ *試行錯誤の末、私のために働きました。

1
Shingai Munyuki

制限を(Noneに)削除することは私のために働きました。

0
Robot Boy

Places API(オートコンプリート)を使用しようとしましたが、Places APIが機能する前に、Google Cloud ConsoleからMaps Javascript APIも有効にする必要がありました。

0
braed

ChromeのJavascriptコンソールでは、HTTP参照元リストでページアドレス全体を宣言することをお勧めしています。この場合は http://mywebsite.com/map.htm ですが正確なアドレスは http://www.mywebsite.com/map.htm です。他のユーザーの提案どおり、すでにワイルドカードのスタイルがリストされていますが、それが私のために働くだろう唯一の方法。

0
KJB

現場でデッキをチェックしてください。 Google Maps JavaScript APIをロードするには、次のようなscriptタグを使用してください。

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
async defer></script>

私はこの宣言を私のWordpressサイトのfunction.phpファイルで使っています

wp_enqueue_script("google-maps-v3", "//maps.google.com/maps/api/js?key=YOUR_API_KEY", false, array(), false, true);

私はこのフォーマットにAPIキーを設定しました、そして、それはうまく働きます

http://my-domain-name(without www).com/*

この宣言は機能しません

*.my-domain-name.com/*
0
Nalaskow

私の経験では

http://www.example.com

うまくいったが、最後にhttpsが必要/ *

0
RationalRabbit