(レガシー) JavaScript SDK API リファレンス javascript-sdk-api-reference
API リファレンス api-reference
これらの関数は、MVPDとのインタラクションのリクエストを開始します。 すべての呼び出しは非同期です。応答を処理するには、 コールバック を実装する必要があります。
setRequestor (inRequestorID、エンドポイント、オプション) setrequestor(inRequestorID,endpoints,options)
説明:要求の元となるサイトを特定します。 通信セッションでは、他のAPI呼び出しの前にこの呼び出しを行う必要があります。
パラメーター:
-
inRequestorID – 登録時にAdobeが元のサイトに割り当てた一意のID。
-
エンドポイント – このパラメーターはオプションです。 次のいずれかの値を指定できます。
- Adobeが提供する認証サービスと認証サービスのエンドポイントを指定できる配列(デバッグ目的で様々なインスタンスを使用する場合があります)。 複数のURLが指定されている場合、MVPD リストは、すべてのサービスプロバイダーのエンドポイントで構成されます。 各MVPDは、最速のサービスプロバイダー、つまり最初に応答し、そのMVPDをサポートするプロバイダーに関連付けられます。 デフォルトでは(値が指定されていない場合)、Adobe サービスプロバイダーが使用されます(http://sp.auth.adobe.com/)。
例:
setRequestor("IFC", ["http://sp.auth-dev.adobe.com/adobe-services"])
-
options - Application ID値、Visitor ID値、refresh-less settings (background login logout)およびMVPD settings (iFrame)を含むJSON オブジェクト。 値はすべてオプションです。
- 指定した場合、Experience Cloud visitorIDは、ライブラリによって実行されたすべてのネットワーク呼び出しに対してレポートされます。 この値は、後で高度な分析レポートに使用できます。
- アプリケーションの一意の識別子が指定されている場合 –
applicationId– 値は、X-Device-Info HTTP ヘッダーの一部としてアプリケーションによって行われたその後のすべての呼び出しに追加されます。 この値は、後で適切なクエリを使用してESM レポートから取得できます。
メモ:すべてのJSON キーでは、大文字と小文字が区別されます。
例:
setRequestor("IFC", {
"visitorID": "THE_ECID_VALUE",
"applicationId": "APP_ID_VALUE"
})
- プログラマーは、ログインにiFrameが必要かどうか(iFrameRequired キー)、iFrame ディメンション(iFrameWidthおよびiFrameHeight キー)を指定することで、Adobe Pass Authenticationで設定されているMVPD設定を上書きできます。 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に関連付けられていません。
コールバックがトリガーされました: setAuthentcationStatus ()
checkAuthorization (inResourceID) checkauthorization(inresourceid)
説明:このメソッドは、アプリケーションが現在の顧客と指定されたリソースの認証ステータスを確認するために使用します。 まず、認証ステータスを確認します。 認証されていない場合、tokenRequestFailed () コールバックがトリガーされ、メソッドが終了します。 ユーザーが認証された場合は、認証フローもトリガーします。 [getAuthorization () ] (#getAuthZ メソッドの詳細を参照してください。
パラメーター:
inResourceID- ユーザーが認証を要求するリソースのID。
コールバックがトリガーされました:
setToken () 、tokenRequestFailed () 、sendTrackingData () 、setAuthenticationStatus ()
checkPreauthorizedResources (リソース) checkPreauthorizedResources(resources)
説明:のリストに対して「プリフライト」認証ステータスを要求
リソース:
パラメーター:
- resources: resources パラメーターは、認証を確認する必要があるリソースの配列です。 リスト内の各要素は、リソース IDを表す文字列である必要があります。 リソース IDは、
getAuthorization()呼び出しのリソース IDと同じ制限を受けます。つまり、プログラマーとMVPDの間で確立された合意値、またはメディア RSS フラグメントです。
checkPreauthorizedResources (resources-cache=true) checkPreauthorizedResources(resources-cache=true)
このAPI バリアントは、JS SDK バージョン 4.0以降で使用できます
パラメーター:
-
resources: resources パラメーターは、認証を確認する必要があるリソースの配列です。 リスト内の各要素は、リソース IDを表す文字列である必要があります。 リソース IDは、
getAuthorization()呼び出しのリソース IDと同じ制限を受けます。つまり、プログラマーとMVPDの間で確立された合意値、またはメディア RSS フラグメントです。 -
cache:事前承認済みのリソースを確認する際に内部キャッシュを使用するかどうかを指定します。 これはオプションのパラメーターで、デフォルトは true です。 trueの場合、動作は上記のAPIと同じであり、この関数に対する後続の呼び出しは、事前承認済みリソースを解決するために内部キャッシュを使用します。 このパラメーターに false を渡すと、内部キャッシュが無効になり、checkPreauthorizedResources APIが呼び出されるたびにサーバーコールが発生します。
コールバックがトリガーされました: preauthorizedResources ()
getMetadata (Key) getMetadata
説明: Access Enabler ライブラリによってメタデータとして公開された情報を取得します。
メタデータには2種類あります。
- 静的 (認証トークン TTL、認証トークン TTL、およびデバイス ID)
- User Metadata (これには、認証および/または認証フロー中にMVPDからユーザーのデバイスに渡されるユーザー固有の情報が含まれます)
詳細情報: ユーザーメタデータ
パラメーター:
-
key:要求されたメタデータを指定するID:
-
キーが
"TTL_AUTHN",の場合、認証トークンの有効期限を取得するためにクエリが実行されます。 -
キーが
"TTL_AUTHZ"で、paramsがリソース IDを文字列として含む配列である場合、クエリは、指定されたリソースに関連付けられた認証トークンの有効期限を取得するために行われます。 -
キーが
"DEVICEID"の場合、現在のデバイス IDを取得するためにクエリが実行されます。 この機能はデフォルトで無効になっており、プログラマーは有効化と料金についてAdobeに問い合わせる必要があります。 -
キーが次のユーザーメタデータタイプのリストにある場合、対応するユーザーメタデータを含むJSON オブジェクトが
setMetadataStatus()コールバック関数に送信されます。 -
"zip"– 郵便番号 -
"encryptedZip"– 暗号化された郵便番号 -
"householdID"– 世帯ID。 MVPDがサブアカウントをサポートしていない場合、これはuserIDと同じです。 -
"maxRating"- ユーザーの最大保護者の評価 -
"userID"- ユーザーID。 MVPDがサブアカウントをサポートしており、ユーザーがメインアカウントではない場合、userIDはhouseholdIDとは異なります。 -
"channelID"- ユーザーが表示できるチャネルのリスト -
"is_hoh"- ユーザーが世帯責任者かどうかを識別するフラグ -
"encryptedZip"– 暗号化された郵便番号 -
"typeID"- ユーザーアカウントがプライマリ/セカンダリアカウントであるかどうかを識別するフラグ -
"primaryOID"– 世帯ID -
"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を閉じた場合に備えて、プロバイダー選択UIからMVPDを選択してこの関数を呼び出し、プロバイダー選択UIをAccess Enablerに送信するか、null パラメーターでこの関数を呼び出します。
コールバック
トリガー: setAuthentcationStatus () 、sendTrackingData ()
getSelectedProvider () getSelectedProvider
説明: プロバイダー選択ダイアログで、顧客の選択の結果を取得します。 これは、最初の認証チェックの後いつでも使用できます。
この関数は非同期であり、その結果をselectedProvider() コールバック関数に返します。
- MVPD現在選択されているMVPD。MVPDが選択されていない場合はnull。
- AE_State現在の顧客に対する認証結果(「新規ユーザー」、「未認証ユーザー」、「認証済みユーザー」のいずれか)
コールバックがトリガーされました: selectedProvider ()
ログアウト logout
説明:現在の顧客をログアウトし、そのユーザーのすべての認証および認証情報を消去します。 顧客のシステムからすべてのauthN トークンとauthZ トークンを削除します。
コールバックがトリガーされました: setAuthentcationStatus ()
コールバック定義 calllback-definitions
非同期リクエスト呼び出しに対する応答を処理するには、次のコールバックを実装する必要があります。
entitlementLoaded () entitlementLoaded
説明: Access Enablerが初期化を完了し、リクエストを受信する準備ができたときにトリガーされます。 Access Enabler APIで通信を開始できるタイミングを知るには、このコールバックを実装します。
setConfig (configXML) setconfig(configXML)
説明:このコールバックを実装して、設定情報とMVPD リストを受け取ります。
パラメーター:
- configXML: MVPD リストを含む、現在のREQUESTORの設定を保持するxml オブジェクト。
トリガー: setRequestor ()
displayProviderDialog (プロバイダ) displayproviderdialog(providers)
説明:独自のカスタムプロバイダー選択UIを呼び出すには、このコールバックを実装します。 ダイアログでは、表示名(およびオプションのロゴ)を使用して、顧客の選択肢を提供する必要があります。 顧客が選択し、ダイアログを閉じた場合、選択したプロバイダーの関連IDを setSelectedProvider () への呼び出しに送信します。
パラメーター:
- providers – 要求された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 クライアント、およびオペレーティング システムの種類に関する情報も報告します。 sendTrackingData() コールバックは後方互換性を維持します。
-
デバイスタイプの可能な値:
- コンピューター
- タブレット
- mobile
- gameconsole
- 不明
-
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認証エラーコードを表示する文字列。考えられる値は「User Not Authenticated Error」および「User Not Authorized Error」です。詳細については、以下の「Callback Error Code」を参照してください。
- inRequestDetailedErrorMessage – 表示に適した追加の記述文字列。 この記述文字列が何らかの理由で使用できない場合、Adobe Pass Authenticationは空の文字列 ("") を送信します。 これは、MVPDでカスタムエラーメッセージやセールス関連メッセージを渡すために使用できます。 例えば、購読者がリソースの認証を拒否された場合、MVPDは次のように
*inRequestDetailedErrorMessage*と返信できます。「現在、パッケージ内のこのチャネルにはアクセスできません。 パッケージをアップグレードする場合は、*こちら*をクリックしてください。" メッセージは、このコールバックを通じてAdobe Pass認証によってプログラマーのサイトに渡されます。 その後、プログラマはそれを表示または無視するオプションを持っています。 Adobe Pass Authenticationでは、*inRequestDetailedErrorMessage*を使用して、エラーが発生した可能性のある条件をプログラマーに通知することもできます。 例えば、「プロバイダーの認証サービスと通信する際にネットワークエラーが発生しました。
preauthorizedResources (authorizedResources) preauthorizedResources(authorizedResources)
説明: checkPreauthorizedResources()への呼び出し後に返された承認済みリソース リストを配信するアクセス イネーブラによってトリガーされるコールバック。
パラメーター:
- authorizedResources:承認済みリソースのリスト。
トリガー: checkPreauthorizedResources ()
setMetadataStatus (key, encrypted, data) setMetadataStatus(key,encrypted,data)
説明: getMetadata()呼び出しを介して要求されたメタデータを配信するAccess Enablerによってトリガーされるコールバック。
詳細情報: ユーザーメタデータ
パラメーター:
- key (String):リクエストが行われたメタデータのキー。
- encrypted (Boolean): 「値」が暗号化されているかどうかを示すフラグ。 これが「true」の場合、「value」は実際の値のJSON Web Encrypted表現になります。
- data (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 パラメーターにラップした値を受け取るには、このコールバックを実装します。 result パラメーターは、次のプロパティを持つオブジェクトです。
- MVPD現在選択されているMVPD。MVPDが選択されていない場合はnull。
- AE_State現在のユーザーに対する認証結果(「新規ユーザー」、「ユーザーが認証されていません」、「ユーザーが認証されました」)
トリガー: getSelectedProvider ()