質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

4329閲覧

Google Maps Embed APIのAPIキーを勝手に使われる危険性について教えてください

SST8897

総合スコア155

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

iframe

HTMLのタグ<iframe>です。<iframe>は、ドキュメント内に""inline frame""を作るHTML要素で、同じページでセパレートしているドキュメントが表示されるようにします。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2020/09/27 05:31

APIキーを勝手に使われることで、BANされたり、このAPIが再び有料化された場合にひどい請求が来たりする危険性について教えてください。

Google Maps Embed APIについて

GoogleMapsの地図を埋め込める機能です。

以下のような iframe にてウェブサイトに埋め込み、使用するものです。
この例では検索機能を使い東京駅の周辺地図を表示します。

<iframe src="https://www.google.com/maps/embed/v1/place?key=<APIキー>&zoom=17&maptype=satellite&q=東京駅"></iframe>

ウェブサイトのソースコードを見れば、ウェブサイトを訪れるユーザはAPIキーを知ることができます。

料金

現在は全面的に無料です。

ただし、2020年7月1日より前は、GoogleMapsEmbedAPI- Advanced という区分が有料でした。
検索機能など高度な機能を使った埋め込みは Advanced に分類されます。

懸念している悪用方法

APIキーはサイトを訪れた誰にでも見られるというのは前述の通りです。
APIキーを勝手に使われることを心配しています。

一応、下の画像のようにHTTPリファラによる制限を加えています。
イメージ説明

しかしこの制限はリファラが何も送信されない場合、パスしてしまいます。

以下のようにすればリファラ制限を無視してAPIを使うことができます。

  1. <meta name="referrer" content="no-referrer"> としていてリファラが送信されないサイトに地図を埋め込んだ場合
  2. スクリプトやChorome拡張機能等で意図的にrefererを送信しないリクエストを送る場合

聞きたいこと

自分がこのAPIキーを使って地図を埋め込んだのを忘れたころに、再びAPIが有料化され、勝手にAPIキーが使われて高額請求が来ないか心配です。

有料化する前にGoogleからお知らせが来たり、不正使用による有料APIへのアクセスの請求は免除されたりするのでしょうか?

あと、有料無料に関わらず不正使用されて大量のアクセスが発生した場合、GoogleにBANされたりしないのでしょうか。

何か過去の事例などありましたらお教えください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/09/27 08:24

> しかしこの制限はリファラが何も送信されない場合、パスしてしまいます。 その情報源はどこでしょうか?
SST8897

2020/09/27 08:39

自分で以下の方法で試してみた結果からそう判断しました。 まずGoogle API ConsoleでAPIキーにリファラ制限を設定し、リクエストのリファラが架空のサイト(example.testとか)になっているときだけ受け入れるようにします。 次に、この質問の例に挙げたようなiframeで、自分のウェブサイトに APIキーを使ったGoogleMaps埋め込みをします。 そして普通に自分のウェブサイトを見てみると、リファラが違うためGoogle側でAPIのリクエストがブロックされ、地図は表示されません。 GoogleChrome拡張機能などでリファラを送らないようにすると、地図が表示されるようになります。 このため、「リファラが送られない場合はリファラ制限をパスしている」と判断しました。
guest

回答1

0

自分がこのAPIキーを使って地図を埋め込んだのを忘れたころに、再びAPIが有料化され、勝手にAPIキーが使われて高額請求が来ないか心配です。

どうしても心配なら、事前設定で使える量を制限可能です(公式)。

投稿2020/09/27 08:41

編集2020/09/27 08:48
maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SST8897

2020/09/27 08:52

回答ありがとうございます。 使う量の制限の設定は、そのページの青枠に書いてある通り有料のAPIにしか適用できないようです。 (Google Maps Embed APIは現在のところは無料です。) > Note: You can set daily billable quota limits only on billable APIs. If your project doesn't use any billable APIs, then you can't set daily limits. 手順3で Quotas のページを開くようにありますが、そこを開いても何も出てきません。
maisumakun

2020/09/27 09:00 編集

忘れることすら心配するのでしたら、単なるGoogle Mapを<iframe>で入れておくようにしてはどうでしょうか?キーも不要です。
SST8897

2020/09/27 15:41 編集

返信ありがとうございます。 確かに、ブログ記事でお店の位置を地図で入れる場合など、特定の一点の地図を入れる用途なら単なる GoogleMapの埋め込みを入れれば心配いりませんね。 だけど…今回は諸事情で検索機能が使いたいのです。そのためAPIキーを使用しています。 検索機能とはクエリパラメータ `q` に指定した文字列を検索しその位置を表示してくれる機能です。これにはAPIキーが必須のようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問