ステップ2: アクセストークンとリフレッシュトークンの生成
「開始」の概要で説明したように、承認されたクライアントアプリケーションは、Amazonユーザーアカウントの代わりに、Amazon Adsアカウントに対するアクセス権を使用してAmazon Ads APIを呼び出すことができます。
「開始」の手順1では、クライアントアプリケーションへのアクセス付与に向けて、ユーザーアカウントからの同意を表す認可付与を行いました。この同意を表すために、Login with Amazonで認可コードを作成しました。このコードを使用して、APIを呼び出すためのアクセストークンを取得します。
- Amazon Ads APIのアクセストークンとリフレッシュトークンの概念に関しては、アクセストークンをご覧ください。
アクセストークンとリフレッシュトークンを作成するには、次の手順を実行します。
クライアントIDとクライアントシークレットの取得
Amazon開発者に、Login with Amazonクライアントを作成したときに使用したAmazonアカウントでサインインします。Login with Amazonコンソールに移動し、前のステップでAPIアクセスを割り当てたセキュリティプロファイルのクライアントIDとクライアントシークレットを見つけます。
- クライアントIDとクライアントシークレットを見つける方法について詳しくは、Login with Amazonアプリケーションを作成するをご覧ください。
アクセストークンとリフレッシュトークンをリクエストするための認可URLの呼び出し
アクセストークンとリフレッシュトークンを取得するには、該当する地域の認可URLを選択します。
地域 | 認可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 |
次に、アクセストークンとリフレッシュトークンを取得するためのPOST
リクエストを作成します。このリクエストには次のクエリパラメーターがあります。
パラメーター | 説明 |
---|---|
grant_type | authorization_code を指定する必要があります。 |
code | ステップ1で取得した認可コード。このコードは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
アクセストークンレスポンス
トークンリクエストが成功した場合のレスポンスは、次のスキーマの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分間有効です。ご注意ください。リフレッシュトークンを使用することで、いつでも新しいアクセストークンを生成できます。リフレッシュトークンに有効期限はありません。
注
リクエストが失敗した場合は、レスポンス
400
が以下のerror_description
とともに戻されることがあります。 "The request has an invalid parameter : code"
これが表示される場合は、認可コードが期限切れになっている可能性があります。認可コードの有効期限は5分です。新しいコードを生成するには、この手順のステップ1を繰り返します。
LwAのエラーレスポンスの詳細については、アクセストークンエラーをご覧ください。
リフレッシュトークンの使用
認可コードを使用してトークンを取得したら、リフレッシュトークンを使用していつでも新しいアクセストークンを取得できます。リフレッシュトークンを使用した呼び出しは、先ほどと同じURLに対して実行できますが、指定するパラメーターが異なります。
- 詳細については、リフレッシュトークンを使用したアクセストークンの生成をご覧ください。
次のステップ
これで、Amazon Ads APIへのリクエストに必要な以下2つの認証情報の用意が完了します。
- Login with AmazonクライアントアプリケーションのクライアントID。
- クライアントが特定のユーザーアカウントの広告データとサービスにアクセスできるようにするアクセストークン。
ただし、「開始」の概要で説明したように、このAPIに対するリクエストの大半は、特定のマーケットプレイスのデータとサービスにアクセスするためにプロファイルを使用することが必要になります。
アカウントのプロファイルリストを取得するには、オンボーディングプロセスの次のステップ、 プロファイルIDを取得するに進んでください。
テクニカルサポート
Amazon Ads APIへの接続で問題が発生する場合は、テクニカルサポートのページにアクセスしてサポートを依頼してください。