認証情報管理

次の表に、アプリが管理すべき認証情報の一覧の概要を示します。さまざまなアプリの種類については、OAuth ドキュメントをご覧ください。

認証ワークフロー 認証情報 認証情報の種類 目的
すべてのアプリタイプ 開発者トークン アプリの認証情報 承認済みのアクセスレベルで Google Ads API を使用できます。

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 時間で期限切れになります。クライアント ライブラリを使用する場合、アクセス トークンの有効期限と更新はスレッドセーフな方法で処理されます。適切な OAuth 認証情報を使用して Google Ads API セッション オブジェクトを構築し、その有効期間中に再利用するだけです。

独自のアクセス トークン更新と管理戦略を構築する場合は、アクセス トークンの有効期限を追跡し、可能な限り再利用する必要があります。アクセス トークンが最後に更新された日時が不明な場合は、有効期限が切れていると想定して更新を試みることができます。アクセス トークンの有効期限が切れるまでしばらくある場合は、サーバーは同じアクセス トークンとトークンの有効期限が切れるまでの残り時間(ミリ秒単位)を返します。有効期限までの残り時間が 5 分未満の場合は、アクセス トークンの更新を強制することをおすすめします。