開発者ガイドの概要

Amazon Ads APIの概要

Amazon Ads APIの認可の概要

Amazon Ads APIへのアクセス

Amazon Ads APIを使用すると、Amazon Adsのデータやサービスにプログラマティックにアクセスできます。すべてのAmazonユーザーと同様に、Amazon Adsのお客様は自分のデータへのアクセスを自分で制御します。このことから、Amazon Ads APIへのアクセスには慎重な認証プロセスが必要です。

データおよびサービスへのアクセス

Webベースのユーザーインターフェイスと同様に、Amazon Adsの広告主様は、AmazonのログインIDを使用して自社のデータやサービスに対するアクセスを制御しています。ログインIDは、Eメールアドレスとパスワードです。APIを介した広告主様のアカウントへのアクセスに関しては、その広告主様が明示的に認可を与える必要があります。

APIへのアクセス

Amazon Adsでは、Login with Amazon(LwA)によって管理されるクライアントアプリケーションがAPIへの呼び出しを行うことができます。クライアントがアクセス権を得るには、Amazon Adsによってアクセスを承認される必要があります。また、すべてのAPI呼び出しに、認証情報として承認済みのクライアント識別子が必要です。

広告主様とクライアント

Amazon Ads APIへの呼び出しを正常に行うには、前述のエンティティの両方(広告主様とクライアントアプリケーション)の関与が必要です。まず、広告主様がクライアントアプリケーションに認可を付与する必要があります。続けて、クライアントアプリケーションが生成された認証情報をAPIに渡して、認可を付与した広告主様のデータとサービスにアクセスします。

アカウントとID

Amazonのお客様のアカウントはそれぞれ、Eメールアドレスを一意のキーとして使用します。1つのユーザーアカウントで、Amazon AdsやAmazon DeveloperといったさまざまなAmazonサービスにアクセスできます。ここで説明する「広告主様」が、クライアントアプリケーションを管理するAmazon Developerアカウントとログイン認証情報を共有することは可能ですが、通常はおすすめしません。

共有する場合であっても、広告主様は、以下で説明するプロセスを使用して、広告主様の代わりにAPIにアクセスすることをクライアントに明示的に許可する必要があります。

認可フロー

広告主様がクライアントアプリケーションに認可を付与する方法、およびクライアントアプリケーションがその認可をAPIに提示する方法を理解するには、OAuth 2.0フローに従ったAmazon Ads APIでの認証および認可をご覧ください。

OAuth 2.0

OAuth 2.0は、サードパーティに対し、リソース所有者に紐づけられているリソースやサービスへの限定的なアクセスを許可するためのものです。

例:

OAuthの概念図

この図で、クライアントリソース所有者の代わりに操作を行うサードパーティを表します。クライアントは、リソース所有者にリソース共有への同意を求めるリクエストを作成します。このリクエストには通常、所有者がアクセスを許可するリソースと権限を決定するスコープが含まれます。

クライアントは、リソース所有者の同意を表す認可グラントを取得します。クライアントが取得した認可グラントを認可サーバーに送信すると、サーバーからアクセストークンが返されます。アクセストークンは認証情報で、通常は短期間のみ有効です。

クライアントがアクセストークンをリソースサーバーに渡すと、そのアクセストークンが有効な間だけ、スコープによって規定されたリソース所有者のデータとサービスにアクセスできる権限を取得します。

Amazon Ads APIでのOAuth 2.0

Amazon Ads APIでの認可も、概念的にこれと似たフローに従っています。以下の図は、これを具体的に示したものです。

Amazon Ads APIでのOAuth 2.0

Amazon Ads APIでは、認可サーバーLogin with Amazonによって提供されます。

クライアントはLogin with Amazonアプリケーションで、関連するクライアント識別子クライアントシークレットを持っています。

リソース所有者はAmazonの広告主様です。広告主様は、クライアント識別子に紐づけられているURLにアクセスすることで、Login with Amazonユーザーインターフェイスを使用して、同意を確定できます。

Login with Amazonは、広告主様とクライアントの両方に紐づけられている、1回限りの認可コードを作成します。クライアントはこの認可コードをクライアント識別子およびクライアントシークレットとともにLogin with Amazonに渡して、アクセストークンを取得します。また、クライアントはリフレッシュトークンも取得します。これを使用すると、上記の手順を繰り返さずに新しいアクセストークンを生成できます。

クライアントはアクセストークンをAmazon Ads APIに渡して、同意を与えた広告主様に紐づけられているプロファイル識別子を取得できます。Amazon Ads APIのプロファイルは、特定のマーケットプレイスにおける広告主様のアカウントを表します。

クライアント識別子、アクセストークン、プロファイル識別子は、Amazon Ads APIを使用して広告主様のデータとサービスにアクセスするために使用されます。

必要な認可ヘッダー

Amazon Ads APIへの各リクエストには、前述のパターンに基づく、以下のヘッダーが必要です。

Amazon Ads APIを介して利用できるほぼすべてのリソースでも、追加のヘッダーが必要です。

認可ヘッダーが含まれていないか、正しくない場合は、401 Unauthorizedレスポンスが返されます。必要な場合にAmazon-Advertising-API-Scopeヘッダーが含まれていないか、正しくない場合は、401 Unauthorizedまたは400 Bad Requestレスポンスが返されます。

認可の重要な概念

詳細はこちら

次のドキュメントで概念の詳細をご確認ください。

Amazon Ads APIで認可を行う方法に関する詳細なガイドは、オンボーディングウォークスルーをご覧ください。