アクセストークン
認可の概要で説明されているように、Amazon Ads APIに対する呼び出しが正常に実行されるには、広告主がクライアントアプリケーションに広告主のデータとサービスにアクセスするための認可を明示的に付与する必要があります。
この認可プロセスは、アクセストークンを使用するLogin with Amazon(LwA)サービスによって処理されます。Amazon Ads APIの呼び出しでは、アクセストークンは、特定のクライアントが広告主のデータやサービスにアクセスすることに対する特定の広告主の同意を表します。
以下の図では、クライアントアプリケーションが、認可コードを使用してLogin with Amazonサーバーからアクセストークンを取得します。
アクセストークンの有効期間は60分です。この間、アクセストークンは、Amazon Ads APIを介して広告主のリソースにアクセスするための認証情報として機能します。
認可サーバー
アクセストークンは、次の3つ地域のLogin with Amazonホストのうち任意のホストから取得できます。
地域 | 認可URL |
---|---|
北米(NA) | https://api.amazon.com/auth/o2/token |
ヨーロッパ(EU) | https://api.amazon.co.uk/auth/o2/token |
極東(FE) | https://api.amazon.co.jp/auth/o2/token |
アクセストークンはグローバルです。上記のホストから取得したアクセストークンは、どの地域でもAmazon Ads APIの有効な認証情報です。
アクセストークンの取得
アクセストークンを取得するために、Login with Amazonクライアントアプリケーションは、クライアントID、クライアントシークレット、および以下のいずれかを提供します。
- 広告主が認可グラントプロセスを使用して生成した認可コード。
- 事前に成功したアクセストークンリクエストから取得したリフレッシュトークン。
Login with AmazonアプリケーションのクライアントIDとクライアントシークレットを確認する詳しい手順については、オンボーディングのウォークスルーをご覧ください。
認可コードを使用したアクセストークンの取得
認可コードを使用してアクセストークンとリフレッシュトークンを取得するには、クライアントは以下のクエリパラメーターを使用してLogin with Amazonホストを呼び出します。
パラメーター | 説明 |
---|---|
grant_type | authorization_code を指定する必要があります。 |
code | 認可グラントプロセスで取得した認可コード。このコードは5分後に期限が切れることに注意してください。 |
redirect_uri | Login with Amazonアカウントの「許可されたリターンURL」フィールドのいずれかの値。 |
client_id | Login with AmazonアカウントのクライアントID。 |
client_secret | Login with Amazonアカウントのクライアントシークレット。 |
たとえば、cURLを使用してアクセストークンとリフレッシュトークンを取得する場合は、次のリクエストに値を代入してください。
curl \
-X POST \
--data "grant_type=authorization_code&code=AUTH_CODE&redirect_uri=YOUR_RETURN_URL&client_id=YOUR_CLIENT_ID&client_secret=YOUR_SECRET_KEY" \
https://api.amazon.com/auth/o2/token
注
認可コードは5分後に期限が切れます。認可コードを1度使用すると、アクセストークンとリフレッシュトークンを取得できます。
リフレッシュトークンを使用したアクセストークンの生成
認可コードを使用してトークンを取得したら、いつでもリフレッシュトークンを使用して、新しいアクセストークンを取得できます。リフレッシュトークンを使用するには、クライアントで次のパラメーターを使用してLogin with Amazonホストを呼び出します。
パラメーター | 説明 |
---|---|
grant_type | refresh_token を指定する必要があります。 |
refresh_token | 成功したトークンリクエストから返されるrefresh_token 値。 |
client_id | Login with AmazonアカウントのクライアントID。 |
client_secret | Login with Amazonアカウントのクライアントシークレット。 |
たとえば、cURLを使用して新しいアクセストークンを取得する場合は、次のリクエストに値を代入してください。
curl \
-X POST \
--data "grant_type=refresh_token&client_id=YOUR_CLIENT_ID&refresh_token=YOUR_REFRESH_TOKEN&client_secret=YOUR_CLIENT_SECRET" \
https://api.amazon.com/auth/o2/token
注
リフレッシュトークンは、認可を付与したユーザーが認可を取り消すまで有効です。リフレッシュトークンを使用したリクエストが成功すると、同じリフレッシュトークンが新しいアクセストークンとともに返されます。
アクセストークンレスポンス
トークンリクエストが成功した場合のレスポンスは、次のスキーマのJSONオブジェクトです。
フィールド | 説明 |
---|---|
access_token | アクセストークン。 |
refresh_token | リフレッシュトークン。 |
token_type | OAuth 2.0トークンのタイプ。必ずbearer に設定されています。 |
expires_in | アクセストークンの期限が切れるまでの時間(秒単位)。 |
例:
{
"access_token": "Atza|XXXXXXXXXXXX",
"refresh_token": "Atzr|XXXXXXXXXXXX",
"token_type": "bearer",
"expires_in": 3600
}
アクセストークンの有効期間は60分であることに注意してください。新しいアクセストークンは、リフレッシュトークンを使用していつでも生成できます。リフレッシュトークンに有効期限はありません。
- LwA認可リクエストに対するエラーレスポンスについては、アクセストークンのエラーをご覧ください。
Amazon Ads APIのアクセストークンの使用
Amazon Ads APIの呼び出しを成功させるには、有効なアクセストークンをAuthorization
ヘッダーに含める必要があります。トークンは、文字列 「Bearer」
に追加して、1つの文字列として渡します。
たとえば、アクセストークンが「Atza|zZzZzZzZ」
の場合は、次のヘッダーになります。
Authorization: "Bearer Atza|zZzZzZzZ"
- Amazon Ads APIで必要な認可ヘッダーのリストについては、認可の概要を参照してください。
アクセストークンの概念
- アクセストークンを使用すると、クライアントアプリケーションはAmazon Ads APIを介して特定の広告主のデータやサービスにアクセスできます。
- Amazon Ads APIへのリクエストはすべて、現在のアクセストークンを
Authorization
ヘッダーに含める必要があります。 - クライアントは次のいずれかを使用して、特定の広告主のアクセストークンを取得できます。
- 認可グラントプロセスを介して広告主から取得した認可コード。
- 事前に成功したアクセストークンリクエストで返されたリフレッシュトークン。
- アクセストークンの有効期間は60分です。
- リフレッシュトークンに有効期限はありません。
詳細はこちら
次のドキュメントで概念の詳細をご確認ください。
詳しいガイドに従ってAmazon Ads APIで認可を設定するには、オンボーディングのウォークスルーをご覧ください。