以前のバンドル サービス用の App Identity API

リージョン 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 を使用します。に自動的に置換されます。