認証情報の管理

次の表に、アプリが管理する必要がある認証情報をまとめます。アプリタイプの詳細については、Google Identity OAuth 2.0 のドキュメントをご覧ください。

認証ワークフロー 認証情報 認証情報の種類 目的

JavaScript ウェブアプリ

Android アプリ

OAuth クライアント ID アプリの認証情報 OAuth フロー中にアプリを一意に識別します。
アクセス トークンと更新トークン ユーザー認証情報 アプリがユーザーに代わって Google 広告アカウントにアクセスすることを許可するユーザーの承認を表します。

サーバーサイドのウェブアプリ

デスクトップ アプリと iOS アプリ

テレビとデバイスアプリ

OAuth クライアント ID とクライアント シークレット アプリの認証情報 OAuth フロー中にアプリを一意に識別します。
アクセス トークンと更新トークン ユーザー認証情報 ユーザーがアプリに Google 広告アカウントへのアクセスを許可していることを表します。
サービス アカウント OAuth サービス アカウント キー アプリの認証情報 OAuth リクエストの署名に使用されます。
サービス アカウントのアクセス トークン ユーザー認証情報 ユーザーが Google 広告アカウントをサービス アカウントと共有したときのサービス アカウントの承認を表します。

Google 広告 API アプリの認証情報を管理する際は、次の点について考慮する必要があります。

アプリの認証情報を安全に処理する

アプリの認証情報とは、アプリに固有の設定であり、ユーザーごとに異なるものではありません。OAuth アプリの認証情報は、アプリの ID を使用してユーザー情報にアクセスできるため、厳重に管理してください。OAuth アプリの認証情報は、パスワードと同様に安全な場所に保管し、保護してください。可能であれば、Google Cloud Secret Manager などのシークレット マネージャーを使用して、アプリの認証情報を保存します。クライアント認証情報を一般公開されているコード リポジトリに commit しないでください。コード リポジトリにコミットしないことを強くおすすめします。

ユーザー認証情報を安全に処理する

ユーザー認証情報とは、ユーザーの認可を表す OAuth トークンを指します。ユーザーは、アプリを直接認証するか、Google 広告アカウントをサービス アカウントと共有することで、ユーザーに代わって行動し、データにアクセスする権限をユーザーから付与されます。トークンをプレーンテキストで送信しないでください。また、データ侵害が発生した場合に備えて、暗号化されたトークンを保存してください。ユーザーのアカウントにアクセスする必要がなくなったら、トークンまたはサービス アカウントの権限を取り消します。トークンを取り消したら、アプリケーションまたはシステムから完全に削除します。

更新トークンの取り消しと有効期限切れを処理する

ユーザー認証フローを使用する場合は、更新トークンがいつでも無効になる可能性があることに注意してください。たとえば、マルチユーザー認証フローを使用している場合、ユーザーはアプリへのアクセスを取り消すことができます。シングルユーザー認証フローを使用するアプリは、このような影響を受ける可能性は低いですが、ユーザーを保護するように設計された手動または自動のプロセスによって更新トークンがパージされるか、更新トークンの有効期限が切れる可能性があります。アプリでトークンの取り消し通知が必要な場合は、ユーザーに優れたエクスペリエンスを提供するために、クロスアカウント保護機能サービスと統合する必要があります。

API リクエスト間でユーザー認証情報を再利用する

OAuth アクセス トークンの有効期間は短く、1 時間後に期限切れになります。Google Ads API クライアント ライブラリを使用する場合、ライブラリはアクセス トークンの有効期限を処理し、スレッドセーフな方法で更新します。適切な OAuth 認証情報を使用して Google Ads API クライアント オブジェクトを作成し、そのライフサイクル全体で再利用します。

独自のアクセス トークンの更新と管理戦略を構築する場合は、アクセス トークンの有効期限を追跡し、有効期限が切れるまでトークンを再利用します。トークンの更新をリクエストすると、認可サーバーは新しいアクセス トークンと残りの有効期間(秒単位)(expires_in)を返します。有効期限が切れるまで 5 分未満になった場合は、アクセス トークンを事前に更新することをおすすめします。