次の表に、アプリが管理すべき認証情報の一覧の概要を示します。さまざまなアプリの種類については、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 分未満の場合は、アクセス トークンの更新を強制することをおすすめします。