JavaScript SDK API リファレンス javascript-sdk-api-reference
API リファレンス api-reference
これらの関数は、MVPD とのやり取りのリクエストを開始します。 すべての呼び出しは非同期です。実装する必要があります。 コールバック 応答を処理するには、次の手順に従います。
setRequestor (inRequestorID, endpoints, options) setrequestor(inRequestorID,endpoints,options)
説明: リクエストの送信元のサイトを識別します。 通信セッション内の他の API 呼び出しの前に、この呼び出しをおこなう必要があります。
パラメーター:
-
inRequestorID — 登録時に元のサイトにAdobeが割り当てた一意の識別子。
-
endpoints — このパラメーターはオプションです。 次のいずれかの値を指定できます。
- Adobeが提供する認証および認証サービスのエンドポイントを指定できる配列(デバッグ目的で異なるインスタンスが使用される場合があります)。 複数の URL が提供される場合、MVPD リストは、すべてのサービスプロバイダーのエンドポイントで構成されます。 各 MVPD は、最速のサービスプロバイダ、つまり最初に応答し、その MVPD をサポートするプロバイダに関連付けられます。 デフォルト(値が指定されていない場合)では、Adobe サービスプロバイダーが使用されます (http://sp.auth.adobe.com/) をクリックします。
例:
setRequestor("IFC", ["http://sp.auth-dev.adobe.com/adobe-services"])
-
options — アプリケーション ID 値、訪問者 ID 値の更新レス設定(バックグラウンドログアウト)および MVPD 設定 (iFrame) を含む JSON オブジェクト。 すべての値はオプションです。
- 指定した場合、Experience CloudvisitorID は、ライブラリが実行するすべてのネットワーク呼び出しでレポートされます。 この値は、後で高度な分析レポートに使用できます。
- アプリケーションの一意の ID が指定されている場合 —
applicationId
— 値は、X-Device-Info HTTP ヘッダーの一部として、アプリケーションによっておこなわれる後続のすべての呼び出しに追加されます。 この値は、後でから取得できます。 ESM 適切なクエリを使用してレポートを作成する。
注意: すべての JSON キーでは大文字と小文字が区別されます。
例:
setRequestor("IFC", {
"visitorID": "THE_ECID_VALUE",
"applicationId": "APP_ID_VALUE"
})
- プログラマーは、iFrame がログインに必要かどうかを指定する (iFrameRequired キー ) と iFrame のサイズ (iFrameWidth および iFrameHeight キー )。 JSON オブジェクトには次のテンプレートがあります。
{
"visitorID": <string>,
"backgroundLogin": <boolean>,
"backgroundLogout": <boolean>,
"mvpdConfig":{
"MVPD_ID_1":{
"iFrameRequired": <boolean>,
"iFrameWidth": <integer>,
"iFrameHeight": <integer>
},
...
"MVPD_ID_N":{
"iFrameRequired": <boolean>,
"iFrameWidth": <integer>,
"iFrameHeight": <integer>
}
}
}
上記のテンプレートの最上位キーはすべてオプションで、デフォルト値 (backgroundLogin, backgroundLogut はデフォルトでは false で、mvpdConfig は null です。これは、MVPD 設定が上書きされないことを意味します )。
- 注意:上記のパラメーターに無効な値またはタイプを指定すると、未定義の動作が発生します。
次のシナリオの設定例を示します。リフレッシュレスログインとログアウトを有効にし、MVPD1 をフルページリダイレクトログイン(非 iFrame)に、MVPD2 を width=500、height=300 の iFrame ログインに変更します。
{
"backgroundLogin": true,
"backgroundLogout": true,
"mvpdConfig":{
"MVPD1":{
"iFrameRequired": false
},
"MVPD2":{
"iFrameRequired": true,
"iFrameWidth": 500,
"iFrameHeight": 300
}
}
}
コールバックがトリガーされました: setConfig()
getAuthorization(inResourceID, redirect_url) getauthorization(inresourceid,redirect_url)
説明: 指定したリソースの認証を要求します。 お客様が認証可能なリソースにアクセスしようとするたびに、この関数を呼び出して、Access Enabler から短時間有効な認証トークンを取得します。 リソース ID は、認証を提供する MVPD と合意されています。
現在の顧客に対して、キャッシュされた認証トークンを使用します。 そのようなトークンが見つからない場合、は最初に認証プロセスを開始し、認証を続行します。
パラメーター:
inResourceID
— ユーザーが認証をリクエストするリソースの ID。redirect_url
— オプションでリダイレクト URL を指定し、MVPD の認証プロセスが、認証が開始されたページではなく、そのページにユーザーを返すようにします。
コールバックがトリガーされました: setToken() 成功して tokenRequestFailed 失敗時
getAuthentication(redirect_url) getauthentication(redirect_url
説明: 現在の顧客の認証をリクエストします。 通常、「ログイン」ボタンのクリックに応じて呼び出されます。 現在の顧客のキャッシュされた認証トークンを確認します。 そのようなトークンが見つからない場合、は認証プロセスを開始します。 これにより、既定またはカスタムのプロバイダ選択ダイアログが呼び出され、選択したプロバイダを使用して MVPD のログインインターフェイスにリダイレクトされます。
が成功すると、はユーザーの認証トークンを作成して保存します。 認証に失敗した場合、プロバイダーは適切なエラーメッセージを setAuthenticationStatus() コールバック。
パラメーター:
- redirect_url — オプションでリダイレクト URL を指定します。これにより、MVPD の認証プロセスは、認証が開始されたページではなく、そのページにユーザーを返します。
コールバックがトリガーされました: setAuthenticationStatus(), displayProviderDialog(), sendTrackingData()
checkAuthN checkauthn
説明: 現在の顧客の現在の認証状態を確認します。 どの UI にも関連付けられていません。
コールバックがトリガーされました: setAuthenticationStatus()
checkAuthorization(inResourceID) checkauthorization(inresourceid)
説明: このメソッドは、現在の顧客と特定のリソースの認証ステータスを確認するために、アプリケーションで使用されます。 まず、認証状態を最初に確認します。 認証されない場合、tokenRequestFailed() コールバックがトリガーされ、メソッドが終了します。 ユーザーが認証されると、認証フローもトリガーされます。 詳細は、 getAuthorization()。
パラメーター:
inResourceID
— ユーザーが認証をリクエストするリソースの ID。
コールバックがトリガーされました:
setToken(), tokenRequestFailed(), sendTrackingData(), setAuthenticationStatus()
checkPreauthorizedResources(resources) checkPreauthorizedResources(resources)
説明: リソースのリストに対して「プリフライト」認証ステータスをリクエストします。
パラメーター:
- リソース: resources パラメーターは、承認が確認される必要があるリソースの配列です。 リスト内の各要素は、リソース ID を表す文字列である必要があります。 リソース ID には、
getAuthorization()
呼び出し、すなわち、プログラマと MVPD の間に確立された値、またはメディア RSS フラグメントに基づく合意済みの値です。
checkPreauthorizedResources(resources-cache=true) checkPreauthorizedResources(resources-cache=true)
この API バリアントは、JS SDK バージョン 4.0 以降で使用できます。
パラメーター:
-
リソース: resources パラメーターは、承認が確認される必要があるリソースの配列です。 リスト内の各要素は、リソース ID を表す文字列である必要があります。 リソース ID には、
getAuthorization()
呼び出し、すなわち、プログラマと MVPD の間に確立された値、またはメディア RSS フラグメントに基づく合意済みの値です。 -
キャッシュ:事前に認証されたリソースを確認する際に内部キャッシュを使用するかどうか。 これはオプションのパラメーターで、デフォルト値はです。 true. true の場合、動作は上記の API と同じです。つまり、この関数の後続の呼び出しでは、内部キャッシュを使用して、事前に認証されたリソースを解決します。 渡す false のパラメーターは内部キャッシュを無効にし、その結果、 checkPreauthorizedResources API が呼び出されます。
コールバックがトリガーされました: preauthorizedResources()
getMetadata(Key) getMetadata
説明: Access Enabler ライブラリによってメタデータとして公開された情報を取得します。
メタデータには次の 2 つのタイプがあります。
- 静的 (認証トークン TTL、認証トークン TTL、およびデバイス ID)
- ユーザーメタデータ (これには、認証フローまたは認証フローの間に MVPD からユーザーのデバイスに渡されるユーザー固有の情報が含まれます)。
詳細情報: ユーザーメタデータ
パラメーター:
-
key:要求されたメタデータを指定する ID。
-
キーが
"TTL_AUTHN",
次に、認証トークンの有効期限を取得するためにクエリが実行されます。 -
キーが
"TTL_AUTHZ"
params は、リソース id を文字列として含む配列で、クエリが実行され、指定したリソースに関連付けられた認証トークンの有効期限が取得されます。 -
キーが
"DEVICEID"
次に、現在のデバイス id を取得するためのクエリが実行されます。 この機能はデフォルトで無効になっています。有効化と料金については、Adobeにお問い合わせください。 -
キーが次のユーザーメタデータタイプのリストに含まれている場合、対応するユーザーメタデータを含む JSON オブジェクトがに送信されます。
setMetadataStatus()
コールバック関数: -
"zip"
— 郵便番号 -
"encryptedZip"
— 暗号化された郵便番号 -
"householdID"
— 世帯識別子。 MVPD がサブアカウントをサポートしない場合、これは userID と同じになります。 -
"maxRating"
— ユーザーの親の最大評価 -
"userID"
— ユーザー識別子。 MVPD がサブアカウントをサポートし、ユーザーがメインアカウントではない場合、userID は householdID とは異なります。 -
"channelID"
— ユーザーが表示する権限のあるチャネルのリスト -
"is_hoh"
— ユーザーが世帯のトップかどうかを識別するフラグ。 -
"encryptedZip"
— 暗号化された郵便番号 -
"typeID"
— ユーザーアカウントがプライマリ/セカンダリアカウントであるかどうかを識別するフラグ。 -
"primaryOID"
— 世帯識別子 -
"postalCode"
— 郵便番号と類似 -
"acctID"
— アカウント ID -
"acctParentID"
— アカウントの親 ID
注意:プログラマーが使用できる実際のユーザーメタデータは、MVPD が使用可能にするものによって異なります。 詳しくは、 ユーザーメタデータ (使用可能なユーザメタデータの現在のリスト)
-
例:
// Assume that a reference to the AccessEnabler has been previously
// obtained and stored in the "ae" variable
ae.setRequestor("SITE");
ae.checkAuthentication();
function setAuthenticationStatus(status, reason) {
if (status == 1) {
//user is authenticated, request metadata
ae.getMetadata("zip");
ae.getMetadata("maxRating");
} else {
...
}
}
コールバックがトリガーされました: setMetadataStatus()
setSelectedProvider(providerid) setSelectedProvider
説明: プロバイダ選択 UI から MVPD を選択し、プロバイダ選択 UI にプロバイダ選択を送信した場合、またはユーザがプロバイダ選択 UI を選択せずに閉じた場合は null パラメータでこの関数を呼び出す場合は、この関数を呼び出します。
コールバックがトリガーされました: setAuthenticationStatus(), sendTrackingData()
getSelectedProvider() getSelectedProvider
説明: プロバイダーの選択ダイアログで顧客の選択の結果を取得します。 これは、最初の認証チェックの後、いつでも使用できます。
この関数は非同期的で、結果を selectedProvider()
コールバック関数。
- MVPD 現在選択されている MVPD。MVPD が選択されていない場合は null。
- AE_State 現在の顧客の認証の結果(「新規ユーザー」、「未認証ユーザー」または「認証ユーザー」)
コールバックがトリガーされました: selectedProvider()
ログアウト logout
説明: 現在の顧客をログアウトし、そのユーザーのすべての認証および認証情報を消去します。 顧客のシステムからすべての authN および authZ トークンを削除します。
コールバックがトリガーされました: setAuthenticationStatus()
コールバックの定義 calllback-definitions
非同期リクエスト呼び出しへの応答を処理するには、次のコールバックを実装する必要があります。
entitlementLoaded() entitlementLoaded
説明: Access Enabler の初期化が完了し、要求を受け取る準備が整ったときにトリガーされます。 このコールバックを実装して、Access Enabler API との通信をいつ開始できるかを知る。
setConfig(configXML) setconfig(configXML)
説明: このコールバックを実装して、設定情報と MVPD リストを受け取ります。
パラメーター:
- configXML:MVPD リストを含む、現在の REQUESTOR の設定を保持している xml オブジェクト。
トリガー元: setRequestor()
displayProviderDialog(providers) displayproviderdialog(providers)
説明: このコールバックを実装して、独自のカスタムプロバイダー選択 UI を呼び出します。 お客様が選択できるダイアログでは、表示名(およびオプションのロゴ)を使用する必要があります。 顧客が選択を行い、ダイアログを閉じたら、選択したプロバイダーに関連する ID を、への呼び出しで送信します。 setSelectedProvider().
パラメーター:
- プロバイダー — 要求された MVPD を表すオブジェクトの配列。
var mvpd = {
ID: "someprov",
displayName: "Some Provider",
logoURL: "http://www.someprov.com/images/logo.jpg"
}
トリガー元: getAuthentication(), getAuthorization()
createIFrame(inWidth, inHeight) createIFrame(inWidth,inHeight)
説明: ユーザーが認証ログインページ UI を表示する iFrame を必要とする MVPD を選択した場合に、このコールバックを実装します。
トリガー元: setSelectedProvider()
setAuthenticationStatus(isAuthenticated, errorCode) set-authn-status-isauthn-error
説明: このコールバックを実装して、認証状態(1=認証済みまたは 0=未認証)と、認証状態の判断中にエラーが発生した場合に説明的なエラーメッセージを受け取ります(チェックが正常に完了した場合は空の文字列)。
パラメーター:
- isAuthenticated — 認証ステータスが 1(認証済み)または 0(未認証)になります。
- errorCode — 認証ステータスの判別時に発生したエラー。 ない場合は空の文字列。
トリガー元: checkAuthentication(), getAuthentication(), checkAuthorization()
sendTrackingData(trackingEventType, trackingData) sendTrackingData(trackingEventType,trackingData)
説明: 特定のイベントが発生したときにトラッキングデータを受け取るには、このコールバックを実装します。 例えば、この機能を使用して、同じ資格情報でログインしたユーザー数を追跡できます。 トラッキングは現在設定できません。 Adobe Pass Authentication 1.6 の場合、 sendTrackingData()
また、デバイス、Access Enabler クライアント、およびオペレーティング・システム・タイプに関する情報も報告します。 The sendTrackingData()
コールバックは後方互換性を維持します。
-
デバイスタイプに指定できる値:
- コンピュータ
- タブレット
- モバイル
- ガメコンソール
- 不明
-
Access Enabler のクライアント・タイプに指定可能な値:
- html5
- ios
- android
イベントタイプと関連する情報の配列を渡します。 イベントタイプは次のとおりです。
データは、各イベントタイプに固有です。
トリガー元: checkAuthentication(), getAuthentication(), checkAuthorization(), getAuthorization()
setToken(inRequestedResourceID, inToken) setToken(inRequestedResourceID,inToken)
説明: このコールバックを実装して、短時間のみ有効なメディアトークン (inToken) と、承認リクエストまたは確認認証リクエストが行われ、正常に完了したリソースの ID(inRequestedResourceID) を受け取ります。
トリガー元: checkAuthorization(), getAuthorization()
tokenRequestFailed(inRequestedResourceID, inRequestErrorCode, inRequestDetailedErrorMessage) token-request-failed-error-msg
説明: 承認または確認認証要求が失敗した場合に通知するこのコールバックを実装します。 オプションで、MVPD がプログラマーが表示するカスタムメッセージを提供するために使用できます。
パラメーター:
- inRequestedResourceID — 認証リクエストで使用されたリソース ID を提供する文字列。
- inRequestErrorCode — 失敗の理由を示す、Adobe Pass Authentication エラーコードを表示する文字列。指定可能な値は、「User Not Authenticated Error」および「User Not Authorized Error」です。詳しくは、以下の「Callback error codes」を参照してください。
- inRequestDetailedErrorMessage — 表示に適した追加の説明文字列。 何らかの理由でこの説明文字列を使用できない場合、Adobe Pass Authentication は空の文字列を送信します (""). これは、MVPD がカスタムエラーメッセージや販売関連メッセージを渡すために使用できます。 例えば、あるリソースに対する承認がサブスクライバーによって拒否された場合、MVPD は
*inRequestDetailedErrorMessage*
例: 「現在、パッケージ内のこのチャネルにアクセスできません。 パッケージをアップグレードする場合は、*こちら*をクリックしてください。 メッセージは、このコールバックを通じてAdobe Pass Authentication によってプログラマーのサイトに渡されます。 プログラマーは、それを表示または無視するオプションを持ちます。 Adobe Pass認証では、*inRequestDetailedErrorMessage*
エラーを引き起こした可能性のある条件をプログラマーに通知する。 例: 「プロバイダーの認証サービスとの通信中にネットワークエラーが発生しました」。
トリガー元: checkAuthorization(), getAuthorization()
preauthorizedResources(authorizedResources) preauthorizedResources(authorizedResources)
説明: に対する呼び出し後に返される承認済みリソースリストを提供する Access Enabler によってトリガーされるコールバック checkPreauthorizedResources()
.
パラメーター:
- authorizedResources:認証済みリソースのリスト。
トリガー元: checkPreauthorizedResources()
setMetadataStatus(key, encrypted, data) setMetadataStatus(key,encrypted,data)
説明: Access Enabler によってトリガーされるコールバック。 getMetadata()
を呼び出します。
詳細情報: ユーザーメタデータ
パラメーター:
- キー(文字列):リクエストがおこなわれたメタデータのキー。
- encrypted (Boolean):「値」が暗号化されるかどうかを示すフラグ。 これが「true」の場合、「value」は、実際には実際の値の JSON Web 暗号化された表現になります。
- データ(JSON オブジェクト):メタデータを表す JSON オブジェクト。単純なリクエストの場合 (「
TTL_AUTHN
'、'TTL_AUTHZ
'、'DEVICEID
') の場合、結果は文字列(認証 TTL、認証 TTL、またはデバイス ID を表します)になります。 ユーザーメタデータリクエストの場合、結果は、メタデータペイロードを表すプリミティブまたは JSON オブジェクトにすることができます。 JSON ユーザーメタデータオブジェクトの実際の構造は次のようになります。
{
updated: 1334243471,
encrypted: ["encryptedProp"],
data: {
zip: ["12345", "34567"],
maxrating: {
"MPAA": "PG-13",
"VCHIP": "TV-Y",
"URL": "http://exam.pl/e/manage/ratings"
},
householdid: "3456",
uid: "BgSdasfsdk23/dsaf3+saASesadgfsShggssd=",
channelID: ["channel-1", "channel-2"]
}
例:
// Implement the setMetadataStatus() callback
function setMetadataStatus(key, encrypted, data) {
if (encrypted) {
//the metadata value is encrypted
//needs to be decrypted by the programmer
data = decrypt(data);
}
alert(key + "=" + data);
}
トリガー元: getMetadata()
トップに戻る
selectedProvider(result) selectedProvider(result)
説明: このコールバックを実装して、現在選択されている MVPD と、 result
パラメーター。 The result
パラメーターは、次のプロパティを持つ Object です。
- MVPD 現在選択されている MVPD。MVPD が選択されていない場合は null。
- AE_State 現在のユーザーの認証の結果(「新規ユーザー」、「未認証ユーザー」、「認証ユーザー」のいずれか)
トリガー元: getSelectedProvider()