Prime Videoは、コンテンツ管理の合理化と、貴重なビジネスインサイトの提供のために設計された、2つの包括的なAPIスイートをパートナー様に提供しています。このガイドは、コンテンツAPIスイートとアナリティクスAPIスイートの双方のためのオンボーディングプロセスのすべてを概説し、そこには認証要件、技術設定、両者の主な違いなどが含まれます。
ステップ1: アクセス権をリクエストして認証情報を生成する
コンテンツAPIスイートでのアクセス権をリクエストするには、Prime Videoの連絡先に連絡するか、「お問い合わせ」からアクセス権リクエストを伝えてください。
ステップ2: 認証情報を生成して送信する
アクセスリクエストが承認されたら、環境ごとにプライベートキーと証明書署名リクエスト(CSR)を生成し、指定されたPrime Video連絡先と共有してください。
CSRを生成する
CSRの生成には、どの証明書ツールも使用可能です。OpenSSLを使用したい場合は、次の2つのコマンドを実行できます:openssl genrsa -out client.key 2048
openssl req -new -key client.key -out prod_client.csr
Prime Video連絡先にCSRを送信する
CSRには、API証明書を生成するために必要なすべての情報が含まれています。これは、オンボーディングリクエストの一部として連絡先に送信するファイルです。Prime VideoがCSRを受け取ったら、このファイルはもう必要ありません。
注意: プライベートキーファイルは安全に保管し、Prime Videoを含めて誰とも共有しないことは、非常に重要です。当社がこのファイルを求めることは決してありません。ファイルは後で当社にAPI呼び出しを行うときに使用します。
ステップ4: 統合を構成する
お知らせします。 これで、プライベートキー、パブリック証明書、およびAPIキーを使用してAPIを呼び出せるようになりました。ここでは、さまざまなテクノロジーを使用した統合の例をいくつか紹介します:
Bashbash
curl --location --request PUT 'https://partnerapi.primevideo.com/v1/avails/{partnerAlias}/full-extract/{ALID}' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'x-api-key: <api key>' \
--data-raw '{ "avail": <Avail json> }' \
--key ./private_key.txt --cert ./certificate.pem
PythonPython https://requests.readthedocs.io/en/master/user/advanced/#client-side-certificates
requests.put(f'https://partnerapi.primevideo.com/v1/avails/{partnerAlias}/full-extract/{ALID}',
data={'{ "avail": <Avail json> }'},
cert=('/path/client.cert', '/path/client.key'),
headers={'x-api-key':'<api key>','Content-Type':'application/json'})
Node.js Nodejs https://nodejs.org/api/https.html#https_https_request_options_callback
const options = {
hostname: `https://partnerapi.primevideo.com/v1/avails/{partnerAlias}/full-extract/{ALID}`,
port: 443,
path: `/v1/avails/{partnerAlias}/full-extract/{ALID}`,
method: 'PUT',
headers: {
'Content-Type':'application/json',
'x-api-key':'<api key>'
},
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem'),
agent: false
};
const req = https.request(options, (res) => {
// ...
});
ステップ1: セキュリティプロファイルを作成する
このステップの一環として、Amazonの開発者コンソールを通して、アプリケーション認証情報の設定と、認証設定の構成を行ないます。
アプリケーションを登録する
- Amazon開発者コンソールに移動して登録プロセスを開始してください
- 既存のAmazon開発者アカウントでサインインするか、アカウントを持っていない場合は新しいアカウントを作成してください
- 「新しいセキュリティプロファイルを作成」をクリックして、アプリケーションの認証設定の構成を開始してください
プロファイルを構成する
- セキュリティプロファイル: 構成を明確に識別できるわかりやすい名前を選んでください(例:「パフォーマンスデータ統合」や「アナリティクスAPIアクセス」)
- 説明: アプリケーションがどのような目的を持ち、アナリティクスAPIをどのように使用するかを明確に説明してください
- プライバシー規約URL: アプリケーションがユーザーのデータをどのように処理し保護するかをユーザーに説明するURLを含めてください
- 「保存」をクリックするとセキュリティプロファイルができあがります
- 正しく設定すると、完了したことを示すメッセージが届きます
リダイレクトURLを設定する
- プロファイルに移動し、新しく作成したセキュリティプロファイルの「セキュリティプロファイル」タブで「管理」を選択してください:
- 次に、「ウェブ設定」を選択して、アプリケーションのリダイレクト動作を構成してください
- リダイレクトURLを追加してください。これはアプリケーションを承認した後にユーザーが移動する安全なエンドポイントとなります(ローカル開発にはhttps://かhttps://localhostを使用する必要があります)
重要: このURLは安全に保存してください。次のステップで認証コードを生成するときに、このURLを正確に使用する必要があります。
認証情報を受け取る
- 「ウェブ設定」タブに移動して、アプリケーション認証情報にアクセスしてください
- クライアントID(アプリケーションの一意の識別子となります)とクライアントシークレット(アプリケーションのパスワードとなります)をコピーしてください
- 両方の認証情報を組織のシークレット管理システムに安全に保管してください。これらはすべてのAPIリクエストの認証に使用されます
ステップ2: アプリケーションを承認する
このステップの一環として、組織に代わってアプリケーションにPrime Video Slateへのアクセスを許可し、APIを通してパフォーマンスデータや分析情報を取得するために必要な権限を設定します。
Slateにアプリケーションを追加する
- 組織の認証情報を使ってPrime Video Slateアカウントにサインインしてください
- 右上隅の「アカウント設定」に移動し、ドロップダウンメニューから「アプリケーション」を選択してください
- 「アプリケーションを追加」をクリックして認証プロセスを開始してください
- 表示されたフィールドにクライアントID(ステップ1から)を入力してください
- 「レポーティング」チェックボックスを選択して、アプリケーションにパフォーマンスデータとレポートへのアクセスを許可してください
- 「アプリケーションを追加」をクリックしてSlateでの登録を完了してください
認証コードを生成する
- 括弧で囲まれたプレースホルダーをステップ1の実際の認証情報に置き換えて、認証URLを作成してください:
https://www.amazon.com/ap/oa?client_id=[YOUR_CLIENT_ID]&redirect_uri=[YOUR_REDIRECT_URI]&scope=videocentral::reports:read&response_type=code:
- このURLをウェブブラウザで開き、認証フローを開始してください
- プロンプトが表示されたら、Slateアカウントの認証情報でサインインしてください
- アプリケーションが要求している権限を確認し、「許可」をクリックしてアクセスを許可してください
- 認証後、指定したリダイレクトURLにリダイレクトされます。URLのクエリ文字列(以下のように表示されます:
から認証コードをコピーしてください?code=YOUR_CODE
ベストプラクティス: APIアクセスに特化して最低限必要な権限を持つ専用Slateアカウント(例: api_access@yourcompany.com)を作成することをおすすめします。これによりセキュリティが強化され、組織全体のAPI使用状況の管理と監査が容易になります。
注意: 認証ユーザーのレポート使用権限を削除すると、アプリケーションはレポート使用権限の取り消しも行います。
ステップ3: アクセストークンをリクエストする
このステップの一環として、認証コードを使用して、認証済みAPIの呼び出しに必要なトークンを取得します。アクセストークンを使用すると、アプリケーションはパフォーマンスデータを取得でき、リフレッシュトークンを使用すると、認証プロセスを繰り返さずに新しいアクセストークンを生成できます。
認証コードは、1回限りのトークンです。access_tokenの取得に使用されると、次のaccess_tokenの取得に使用できるrefresh_tokenを返します。次のセクションでは、最初のrefresh_tokenの取得について説明します。
最初のトークンリクエスト(初回のみ):
トークンをリクエストするには:
- client_id、client_secret、authorization_code、grant_type をURLエンコード済みフォームデータとして入力してください。
- HTTPリクエストを行ってください。
authorization_codeからトークンを生成するcurlコマンドの例を以下に示します。
curl --request POST \
--url https://api.amazon.com/auth/o2/token \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'grant_type=refresh_token' \
--data 'client_id=amzn1.application-oa2-client.20534a91be57487e9c3547dada8a7394' \
--data 'client_secret=c007c411c9657dde807a11a96a3cfd8a2972f9599ac28de241675832f63cac05' \
--data 'refresh_token=Atzr|IwEBIPw8sQi6vSq67a0QeWDjRp4DJusAHG9kg-707e9PVbCbFTD3mU3H9ztkXppkSfeIgGsq
d4zDnwr5y5hbFZvqyEQPsPRPNspT4cyWNhS6teaQsgyQa6CDTEejwYksDC4rQCi77p67zAkVzh6vHAuVJwkmaXH8IFFouRvR5gp
qrffASpNv1eZwLTyqJzMNyU2CNJrIgurqJmByJN3u-smxLkshqMej0anoykw8qyNTmNxrzYRZJR2KdZLH6Kcw9mO41zHJKVWKi_
My4_bevVGd8viCGUeXeaRgOONI-GtGoQOZV7NwERLFkjT8Imw_yu4AeZ9lXEomFTy61RhieWvpxJmHNDb6MRuJcywFhx-h2fw1I
jxP-W3J6HuVME69UMdapNkgk3bfgpWCsfkxDP3Qq1MddDkYvoTuJPAtqq12X4hvmlM1OZWsy8uG0Pckb9S3D1rh4g06pWcx-VaW
GXQr2hbP58DWWQYIbLW-kZHD0eakoqNdrOtj56IMZZTz7RAPdmHiiHScDkgu6PyiBFBDBV7V'
アクセストークンのリフレッシュ:
最初のトークンリクエスト後のすべてのセッションでは、リフレッシュトークンを使用して新しいアクセストークンを取得してください:bash
curl --location --request POST 'https://api.amazon.com/auth/o2/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--data 'grant_type=refresh_token' \
--data 'client_id=[YOUR_CLIENT_ID]' \
--data 'client_secret=[YOUR_CLIENT_SECRET]' \
--data 'refresh_token=[YOUR_REFRESH_TOKEN]'
ステップ4: アプリケーションを構成する
お知らせします。 これで、パフォーマンスAPIを呼び出すために必要なすべての認証情報が揃いました。このステップの一環として、各APIリクエストの認証ヘッダーにアクセストークンを含めるためアプリケーションを構成します。これにより、コンテンツのサブスクリプションデータ、パフォーマンスメトリクス、および分析情報を取得できるようになります。
サンプルAPIリクエスト:
curl --request GET \
--url https://videocentral.amazon.com/apis/v1/accounts \
--header 'authorization: bearer Atza|IwEBIPSxTCdGGC-xL-ywFib_lJfg-D7d435Jw739GWa3xy6dHJ
この例は、リクエストを認証する方法を示しています。[YOUR_ACCESS_TOKEN]