次の表に、アプリが管理する必要がある認証情報の一覧を示します。さまざまなアプリタイプについては、OAuth のドキュメントをご覧ください。
| 認証ワークフロー | 認証情報 | 認証情報の種類 | 目的 |
|---|---|---|---|
| すべてのアプリタイプ | 開発者トークン | アプリの認証情報 | 承認されたアクセスレベルで Google Ads API を使用できます。 |
|
JavaScript ウェブアプリ Android アプリ |
OAuth クライアント ID | アプリの認証情報 | OAuth フローの実行時にアプリを一意に識別します。 |
| アクセス トークンと更新トークン | ユーザー認証情報 | アプリがユーザーに代わって Google 広告 アカウントにアクセスすることを許可するユーザーの承認を表します。 | |
|
サーバーサイド ウェブアプリ デスクトップ アプリと iOS アプリ テレビアプリとデバイスアプリ |
OAuth クライアント ID とクライアント シークレット | アプリの認証情報 | OAuth フローの実行時にアプリを一意に識別します。 |
| アクセス トークンと更新トークン | ユーザー認証情報 | アプリがユーザーに代わって Google 広告 アカウントにアクセスすることを許可するユーザーの承認を表します。 | |
| サービス アカウント | OAuth サービス アカウント キー | アプリの認証情報 | OAuth リクエストの署名に使用されます。 |
| サービス アカウントのアクセス トークン | ユーザー認証情報 | サービス アカウントの承認を表します。ユーザーは Google 広告アカウントをサービス アカウントと共有しています。 |
Google Ads API アプリの認証情報を管理する際は、次の点に注意してください。
アプリの認証情報を安全に処理する
アプリの認証情報とは、アプリに固有の設定であり、ユーザーによって異なるものではありません。OAuth アプリの認証情報は、アプリの ID を使用してユーザー情報にアクセスできるため、慎重に扱う必要があります。OAuth アプリの認証情報は、パスワードと同様に安全な場所に保存して保護してください。可能な場合は、 Google Cloud Secret Manager などのシークレット マネージャーを使用してアプリの 認証情報を保存します。クライアント認証情報を一般公開されているコード リポジトリにコミットすることは絶対に避けてください。コード リポジトリにコミットしないことを強くおすすめします。
ユーザー認証情報を安全に処理する
ユーザー認証情報とは、ユーザーの承認を表す OAuth トークンです。 ユーザーは、アプリを認証して直接、または Google 広告アカウントをサービス アカウントと共有して間接的に、アプリに代行操作とデータへのアクセスを許可します。トークンをプレーンテキストで送信しないでください。また、データ侵害が発生した場合に備えて、暗号化されたトークンを常に保存して保護してください。ユーザーのアカウントへのアクセスが不要になったら、トークンまたはサービス アカウントの権限を取り消します。トークンを取り消したら、アプリケーションまたはシステムから完全に削除します。
更新トークンの取り消しと有効期限切れを処理する
ユーザー認証フローを使用している場合は、更新トークンが無効になる可能性があることに注意してください。たとえば、マルチユーザー認証フローを使用している場合、ユーザーはアプリへのアクセスを取り消すことができます。シングルユーザー認証フローを使用するアプリは影響を受けにくいですが、ユーザーを保護するために設計された手動または自動プロセスによって更新トークンが削除されたり、更新トークンの有効期限が切れたりする可能性があります。ユーザーに優れたエクスペリエンスを提供するために、トークンの取り消しに関する通知をアプリで受け取る必要がある場合は、クロスアカウント保護サービスと統合する必要があります。
API リクエスト間でユーザー認証情報を再利用する
OAuth アクセス トークンは有効期間が短く、1 時間で有効期限が切れます。Google のクライアント ライブラリを使用すると、アクセス トークンの有効期限と更新がスレッドセーフな方法で処理されます。適切な OAuth 認証情報を使用して Google Ads API セッション オブジェクトを作成し、有効期間中再利用するだけです。
独自のアクセス トークンの更新と管理戦略を構築する場合は、アクセス トークンの有効期限を追跡し、できるだけ再利用する必要があります。 アクセス トークンが最後に更新された日時がわからない場合は、有効期限が切れていると想定して更新を試みることができます。アクセストークンの有効期限が切れていない場合は、サーバーから同じアクセストークンと、トークンの有効期限が切れるまでの残り時間がミリ秒単位で返されます。有効期限が切れるまで 5 分未満の場合は、アクセス トークンの更新を強制することをおすすめします。