Adobe Target APIの認証を設定
Recommendations Admin APIを含むAdobe Target管理APIは、認証によって保護され、承認済みのユーザーのみがAdobe Targetへのアクセスに使用できるようになります。 Adobe Developer Consoleを使用して、Adobe Targetを含むすべてのAdobe Experience Cloud solutionsの認証を管理します。
Adobe Target個のAPIを正常に操作するために必要な従来のJWT認証トークンを生成するために必要な事前手順は次のとおりです。
- Adobe Developer Consoleにプロジェクト (以前は統合)を作成します。
- プロジェクトの詳細をPostmanに書き出します。
- ベアラートークンを生成します。
- ベアラートークンをテストします。
前提条件
このガイドの残りの部分では、次のリソースについて理解していることを前提としています。
Adobe I/O プロジェクトの作成
このセクションでは、Adobe Developer Consoleにアクセスし、Adobe Targetのプロジェクトを作成します。 詳しくは、 プロジェクトに関するドキュメント を参照してください。
-
Adobe Admin Consoleで、Adobe ユーザーアカウントに製品管理者と開発者 レベルの両方のTargetへのアクセス権が付与されていることを確認します。
-
Adobe Developer Consoleで、この統合を作成するExperience Cloud Organizationを選択します。 (1つのExperience Cloud Organizationにしかアクセスできない可能性があります)。
-
Create new project をクリックします。
-
Add APIをクリックしてREST APIをプロジェクトに追加し、Adobeのサービスと製品にアクセスします。
-
統合するAdobe サービスとして Adobe Target を選択します。 表示される「Next」ボタンをクリックします。
-
公開鍵と秘密鍵を、Target用に作成するサービスアカウント統合に関連付けるオプションを選択します。 この例では、Option 1: Generate a key pairを選択し、Generate keypairをクリックします。
-
指示に従って、秘密鍵を含む自動的にダウンロードされた設定ファイル (
config)に注意してください。 Next をクリックします。
-
ファイルシステムで、前の手順で作成した圧縮設定ファイルである
configの場所を確認します。 繰り返しますが、このconfigファイルには、後で必要になる秘密鍵が含まれています。 ファイルシステム内の正確な場所は、ここに示されているものとは異なる場合があります。
-
Adobe Developer Consoleに戻り、Adobe Recommendationsを使用しているプロパティに対応する製品プロファイル を選択します。 (プロパティを使用していない場合は、「デフォルトのWorkspace」オプションを選択します)。 Save configured API をクリックします。
-
Create Integration をクリックします。 APIが正常に設定されたことを示す一時的なメッセージが表示されます。
-
最後の手順として、プロジェクトの名前を元の
Project 1よりも意味のある名前に変更します。 これを行うには、ナビゲーションパスを表示としてプロジェクトに移動し、Edit projectをクリックしてEdit Project モーダルにアクセスし、プロジェクトの名前を変更します。
プロジェクト詳細の書き出し
Targetへのアクセスに使用できるAdobe プロジェクトが完成したので、そのプロジェクトの詳細とAdobe API リクエストを必ず送信する必要があります。 これらの詳細は、複数のTarget APIを含む複数のAdobe APIを操作するために必要です。 例えば、統合の詳細には、Target管理者APIで必要な認証と認証情報が含まれます。 したがって、PostmanでAPIを使用するには、これらの詳細をPostmanに取り込む必要があります。
Postmanでは、プロジェクトの詳細を指定する方法を数多く用意していますが、ここでは、いくつかの事前定義済みの機能とコレクションを活用します。 まず(この節では)、Postman環境に統合の詳細を書き出します。 次に(次のセクションで)、ベアラートークンを生成して、必要なAdobe リソースへのアクセス権を付与します。
-
まだAdobe Developer Consoleで、新しいプロジェクトの Service Account (JWT) 資格情報を表示するために移動します。 図に示すように、左側のナビゲーションまたはCredentials セクションのいずれかを使用します。
Credential detailsでは、Public key(s)、Client ID、およびサービスアカウントに関連するその他の情報を表示できます。
-
クリックして、Adobe Target APIに関する情報に移動します。 図に示すように、左側のナビゲーションまたは「製品とサービスの接続」セクションのいずれかを使用します。
-
Download for Postman > Service Account (JWT)をクリックして、Postman環境の認証情報をキャプチャするJSON ファイルを作成します。
ファイルシステム内のJSON ファイルに注意してください。
-
Postmanで、歯車アイコンをクリックして環境を管理し、ImportをクリックしてJSON ファイル(環境)を読み込みます。
-
ファイルを選択し、Openをクリックします。
-
Postman Manage Environments モーダルで、新しく読み込んだ環境の名前をクリックして調べます。 (環境名は、ここに示したものとは異なる場合があります。 必要に応じて名前を編集します。 必ずしもAdobe プロジェクトの名前と一致する必要はありません)。
-
メモ
CLIENT_SECRETおよびAPI_KEY(他の変数と共に)には、Adobe Developer Consoleで定義されているように、統合から取得された値が事前入力されています。 (PostmanCLIENT_SECRET変数は、Developer Consoleに表示されているCLIENT SECRETAdobe資格情報と一致する必要があり、PostmanのAPI_KEYも同様にDeveloper ConsoleのCLIENT IDと一致する必要があります)。 対照的に、メモPRIVATE_KEY、JWT_TOKEN、ACCESS_TOKENは空白です。PRIVATE_KEY値を指定することから始めましょう。
-
ファイルシステムから、
configファイルを開き、privateキーファイルを開きます。
-
privateキーファイルのコンテンツ全体を選択してコピーします。
-
Postmanで、秘密鍵の値を INITIAL VALUE およびCURRENT VALUE フィールドに貼り付けます。
-
「Update」をクリックし、環境モーダルを閉じます。
ベアラートークンの生成
このセクションでは、ベアラートークンを生成します。これは、Adobe Target APIを使用したインタラクションを認証するために必要です。 ベアラートークンを生成するには、Adobe Identity Management サービス(IMS) に統合の詳細(前のセクションで確認)を送信する必要があります。 これを行う方法はいくつかありますが、このガイドでは、プロセスを直接的かつ簡単にする事前定義済みのIMS呼び出しを含むPostman コレクションを利用します。 コレクションをインポートしたら、必要なときにいつでも再利用して、Adobe Targetだけでなく、他のAdobe APIでも新しいトークンを生成できます。
-
Adobe Identity Management Service API サンプル呼び出しに移動します。
-
Adobe I/O Access Token Generation Postman collectionをクリックします。
-
このコレクションの生のJSONを取得するには、Rawをクリックし、生成されたJSONをクリップボードにコピーします。 (または、生のJSON を.json ファイルとして保存することもできます)。
-
Postmanで、クリップボードから生のJSONを貼り付けて送信することで、コレクションを読み込みます。 (または、保存した.json ファイルをアップロードすることもできます)。 Continue をクリックします。
-
Adobe I/O Access Token Generation Postman コレクションでIMS: JWT Generate + Auth via User Token リクエストを選択し、環境が選択されていることを確認して、Sendをクリックしてトークンを生成します。
note NOTE このベアラートークンは24時間有効です。 新しいトークンを生成する必要があるときはいつでも、リクエストを再度送信します。 -
「環境を管理」モーダルをもう一度開き、環境を選択します。
-
ACCESS_TOKENとJWT_TOKENの値が入力されました。
質問:JSON Web トークン(JWT)とベアラートークンを生成するには、Adobe I/O アクセストークン生成Postman コレクションを使用する必要がありますか?
回答:いいえ。 Adobe I/O アクセストークン生成Postman コレクションは、PostmanでJWTおよびベアラートアクセストークンをより簡単に生成できる利便性として利用できます。 または、Adobe Developer Console内の機能を使用して、ベアラートークンを手動で生成することもできます。
ベアラートークンのテスト
この演習では、新しいベアラーアクセストークンを使用して、Target アカウントからアクティビティのリストを取得するAPI リクエストを送信します。 応答が成功した場合は、Adobe プロジェクトと認証がAPIを使用するために期待どおりに動作していることを示します。
-
Adobe Target Admin APIs Postman Collectionを読み込みます。 Postmanでコレクションを読み込むまで、すべてのプロンプトに従います。
-
コレクションを展開し、List activities リクエストを書き留めます。
-
{{access_token}}などの変数は最初は解決されません。 この問題は、複数の方法で解決できます。例えば、{{access_token}}という新しいコレクション変数を定義できます。このガイドでは、以前に使用していたPostman環境を活用するように、API リクエストを変更します。 これにより、Adobe API全体で共通するすべての変数を、一貫性のある単一の統合として引き続き使用できます。
-
「
{{access_token}}」を「{{ACCESS_TOKEN}}」に置き換えるように入力します。
-
「
{{api_key}}」を「{{API_KEY}}」に置き換えるように入力します。
-
「
{{tenant}}」を「{{TENANT_ID}}」に置き換えるように入力します。 メモ{{TENANT_ID}}はまだ認識されていません。
-
「環境を管理」モーダルを開き、環境を選択します。
-
入力して、新しい
{{TENANT_ID}}環境変数を追加します。 テナント IDの値をコピーして、新しいTENANT_ID環境変数の INITIAL VALUE およびCURRENT VALUE フィールドに貼り付けます。
note NOTE テナント IDがTarget clientcodeと異なります。 テナント IDは、TargetにログインしたときにURLに存在します。 テナント IDを取得するには、Adobe Experience CloudにログインしてTargetを開き、Target カードをクリックします。 URL サブドメインに記載されているテナント ID値を使用します。 例えば、Adobe TargetにログインしたURLが[https://mycompany.experiencecloud.adobe.com/...](https://mycompany.experiencecloud.adobe.com/...)の場合、テナント IDは「mycompany」になります。 -
正しい環境を選択したことを確認した後、リクエストを送信します。 アクティビティのリストを含む応答が返されます。
Adobe認証を検証したら、それを使用してAdobe Target API (およびその他のAdobe API)と対話できます。 例えば、Recommendations APIを使用してレコメンデーションを作成または管理したり、Target Delivery APIを使用したりできます。