API リクエストの承認

アプリケーションから限定公開データがリクエストされた場合は、そのデータへのアクセス権を持つ認証済みのユーザーによってそのリクエストが承認される必要があります。

アプリケーションから一般公開データがリクエストされた場合は、リクエストの承認は必要ありませんが、ID(API キーなど)を追加する必要があります。

アプリケーションが Cloud Billing API に送信するすべてのリクエストには、認可トークンが含まれている必要があります。このトークンは Google に対してアプリケーションの識別も行います。

承認プロトコルについて

アプリケーションは OAuth 2.0 を使用してリクエストを承認する必要があります。これ以外の承認プロトコルはサポートされていません。アプリケーションで Google ログインを使用している場合、承認作業の一部が代行されます。

OAuth 2.0 を使用したリクエストの承認

Cloud Billing API に対するすべてのリクエストは、認証済みユーザーによって承認される必要があります。

OAuth 2.0 の承認プロセス、つまり「フロー」の詳細は、開発するアプリケーションの種類によって多少異なりますが、次の一般的なプロセスは、すべての種類のアプリケーションに当てはまります。

  1. アプリケーションを作成した場合は、Google Cloud Console を使用してそのアプリケーションを登録します。後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
  2. Google Cloud Console で Cloud Billing API をアクティブ化します(Google Cloud Console に API が表示されていない場合は、この手順をスキップしてください)。
  3. アプリケーションがユーザーデータにアクセスする必要がある場合は、アクセスのスコープを Google にリクエストします。
  4. データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
  5. ユーザーが承認すると、Google はアプリケーションに有効期間が短いアクセス トークンを付与します。
  6. アプリケーションはリクエストにそのアクセス トークンを付けて、ユーザーデータをリクエストします。
  7. Google によりリクエストとトークンが有効であると判断されると、リクエストしたデータが返されます。

新しいアクセス トークンを取得するためにリフレッシュ トークンを使用するなど、承認フローには追加のステップがあります。各種アプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。

Cloud Billing API の OAuth 2.0 のスコープに関する情報は次のとおりです。

スコープ 意味
https://www.googleapis.com/auth/cloud-platform Google Cloud Platform サービス全体のデータを表示、管理するためにアクセスします。これは、すべての Cloud Billing API メソッドを呼び出すのに十分な、最も範囲の広いスコープです。このスコープには cloud-billingcloud-billing.readonly が含まれるため、このスコープがある場合はどちらも必要ありません。
https://www.googleapis.com/auth/cloud-billing Google Cloud Platform の請求先アカウントを表示、管理するためにアクセスします。このスコープは cloud-platform より適用範囲が狭いですが、cloud-billing.readonly より適用範囲が広く、またこれを含んでいます。
https://www.googleapis.com/auth/cloud-billing.readonly Google Cloud Platform の請求先アカウントを表示するためにアクセスします。最も適用範囲の狭いスコープです。このスコープは、請求先アカウントの取得または一覧表示のみが必要であり、ProjectBillingInfo リソースの取得、更新は必要ない場合に使用できます。

OAuth 2.0 を使用してアクセスをリクエストするには、アプリケーションの登録時に Google より提供される情報(クライアント ID やクライアント シークレットなど)の他に、スコープ情報が必要です。