リージョン ID
REGION_ID
は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r
は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
App Identity API は、アプリケーションがアプリケーション ID(「プロジェクト ID」)を見つけられるようにします。App Engine アプリケーションは ID を使用して、そのアプリケーションの識別情報を他の App Engine アプリ、Google API、サードパーティ製アプリケーションおよびサービスに表明します。アプリケーション ID は URL やメールアドレスの生成、ランタイムでの決定にも使用できます。
プロジェクト ID を取得する
プロジェクト ID は
アプリケーションのホスト名を取得する
デフォルトでは、App Engine アプリは https://PROJECT_ID.REGION_ID.r.appspot.com
という形式の URL から提供され、プロジェクト ID はホスト名の一部になります。アプリがカスタム ドメインから提供される場合、ホスト名のコンポーネント全体の取得が必要となることがあります。これを行うには、
他の App Engine アプリに ID を表明する
App Engine アプリにリクエストを行っている App Engine アプリの ID を特定するには、リクエスト ヘッダー X-Appengine-Inbound-Appid
を使用します。このヘッダーは URLFetch サービスによりリクエストに追加され、ユーザーによる変更はできないため、リクエスト元のアプリケーションのプロジェクト ID を設定すると、その ID を安全に示すことができます。
要件:
アプリの
appspot.com
ドメインへの呼び出しのみにX-Appengine-Inbound-Appid
ヘッダーが含まれます。カスタム ドメインへの呼び出しにはヘッダーが含まれません。
アプリケーション ハンドラでは、X-Appengine-Inbound-Appid
ヘッダーを読み取り、リクエストを行うことを許可された ID のリストと比較することで受信 ID を確認できます。
Google API に ID を表明する
Google API では、認証および承認に OAuth 2.0 プロトコルを使用しています。App Identity API は OAuth トークンを作成できます。これを使用して、リクエストのソースがアプリケーション自体であることを表明できます。 は、スコープのアクセス トークンまたはスコープのリストを返します。その後、このトークンを呼び出しの HTTP ヘッダーに設定して、呼び出し元アプリケーションを特定できます。
アプリケーションの ID はサービス アカウント名で表されます。通常は applicationid@appspot.gserviceaccount.com となります。正確な値を取得するには、 を使用します。ACL を提供するサービスでは、このアカウントのアクセスを許可することでアプリケーションにアクセスを許可します。
サードパーティのサービスに ID を表明する
により生成されるトークンは、Google サービスに対してのみ機能します。ただし、基盤となる署名テクノロジーを使用してアプリケーションの ID をその他のサービスに表明できます。 がアプリケーション固有の秘密鍵を使用してバイトに署名し、 が署名の検証に使用できる証明書を返します。
デフォルトの Cloud Storage バケット名を取得する
各アプリケーションには 1 つのデフォルトの Cloud Storage バケットがあります。このバケットには無料のストレージ容量 5 GB と I/O オペレーションの無料の割り当てが含まれます。
デフォルトのバケットの名前を取得するには、App Identity API を使用します。に自動的に置換されます。