OpenAPI を使用した DM の問題 – ビデオプレーヤーコンテナ API
DynamicMedia を open API 関数 [0] で使用し、返されたコードを使用して外部 web サイトのビューアを変更せずに表示すると、コードが生成する形式が正しくない URL でビデオの詳細が取得されるので、機能しません。
説明 description
説明 :ドキュメントをここで取得する場合:
https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/assets/delivery/#operation/videoPlayerDelivery
右側のリクエスト/応答ウィンドウを使用します。
ビデオアセットをテストし、コードを返すためのドキュメント
私は以下の懸念を再現できると思います。
バケット I で「delivery-pxxxxx-eyyyyyy」(アクティブ化された DMwOA 配信ドメイン)を使用
セキュリティ上、例を簡潔にするために、また以下を示すために「none」を使用します。
安全が心配の種じゃない。
assetId には、「urn:aaid:aem:aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee」(有効で承認済みの assetID)を使用します
このから応答を生成するを使用すると、157 行目に次のように表示されます。
let origin = window.location.origin;
サムネールリクエストに表示されるエラーにつながる場所
160 行目、および 174 行目のマニフェストリクエストで、次のように設定されています
window.location.origin が配信サーバーから提供されない
「https://delivery-pxxxxx-eyyyyyyy.adobeaemcloud.com」ただし、独自の
期待どおりに web サーバー。 これは'let
origin="https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com" 'または
リクエストで送信された配信サーバーに関係なく、
これはバグですか。 推奨事項は何ですか?
解決策 resolution
表示される内容は次のようになっています。
・ ビデオ・プレーヤー配信操作によって返されるコードは固定です
を含むHTML テンプレート
let origin = window.location.origin;
… fetch (${origin}/adobe/assets/…)
これは意図的に、同じホストからレンダリングされることを前提としています。
ストリーム(テストバケットの配信層)を提供します
https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com)のようになります。
・ Swagger の「試す」パネルからそのスニペットを実行する場合(このパネルを
developer.adobe.com)で実行するか、独自のサイトに貼り付けます。
window.location.origin が配信ホストと等しくなくなりました。 サムネール
したがって、マニフェストのフェッチは誤ったオリジンと 404/
CORS-fail.
・配信サービス自体の動作が正しい。問題は
サンプルが実行される場所でのみ使用します。 /play は iframe であるため
コンビニエンスラッパー外部で実行すると、適切なホストを知ることができません
配信ドメイン。
ブランドプレーヤーのテストまたは埋め込みにお勧めの方法は次のとおりです。
-
/play をバイパスしてマニフェストを直接呼び出します。
・ HLS /adobe/assets/{assetId}/manifest.m3u8
・ DASH /adobe/assets/{assetId}/manifest.mpd
-
その URL を独自の Video.js/hls.js/dash.js インスタンスにフィードします。
(Delivery API ドキュメント:配信 API を参照。)
/play を引き続き使用する必要がある場合は、
delivery-pxxxxx-eyyyy ドメインを設定するか、生成されたHTMLを次のように変更
オリジンは、そのホストにハードコードされています。