Probleem met DM met OpenAPI - Container-API voor videospeler

Wanneer u DynamicMedia gebruikt met de functie voor open API's [ 0 ] en de code gebruikt die wordt geretourneerd om de viewer van een externe website ongewijzigd weer te geven, genereert de code beschadigde URL's om videogegevens op te halen en werkt deze niet.

[ 0 ]  ​ https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/assets/delivery/#operation/videoPlayerDelivery

Beschrijving description

Beschrijving : Wanneer ik de documentatie hier neem:
https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/assets/delivery/#operation/videoPlayerDelivery

en gebruik het verzoek/antwoordvenster aan de rechterkant van dat
documentatie om een videoelement te testen en het de code te hebben terugkeren
Ik denk dat ik de volgende bezorgdheid kan uiten:

Voor bucket I gebruik: "delivery-pxxxxx-eyyyyy" (geactiveerd DMwOA leveringsdomein)
Voor veiligheid gebruik ik "niets"om het voorbeeld eenvoudig te houden en te tonen dat
veiligheid is geen reden tot bezorgdheid .
Voor assetId I gebruik "urn aem:aaaaaa-bbbb-cccc-dddd-eeeeeeee" (geldige en goedgekeurde assetID)

Wanneer ik gebruik om het antwoord van dat te produceren, zie ik op lijn 157:
let origin = window.location.origin;
waar dat tot de fout leidt u van het duimnagelverzoek ziet
op regel 160 en op het kennelijke verzoek op regel 174, sinds
window.location.origin wordt niet aangeboden vanaf de leveringsserver
"https://delivery-pxxxxx-eyyyyyyy.adobeaemcloud.com" maar van u
webserver zoals verwacht. Het moet 'let
origin="https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com" ' of
wat de leveringsserver met het verzoek wordt voorgelegd.

Is dat een probleem? Wat is de aanbeveling?

Resolutie resolution

Wat u ziet, wordt verwacht:
・ De code die wordt geretourneerd door de levering van de videospeler is een vast item
HTML-sjabloon die bevat

let origin = window.location.origin;
… fetch(${origin}/adobe/assets/…)

Het veronderstelt opzettelijk het van de zelfde gastheer wordt teruggegeven die
zal de stromen - namelijk de leveringsrij (voor uw testemmer)
dat is https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com).
・ Wanneer u dat fragment uitvoert vanuit het deelvenster "Proberen" van de wagen (welke
wordt uitgevoerd op developer.adobe.com) of plakt het in uw eigen site,
window.location.origin is niet meer gelijk aan de bezorghost. De miniatuur
en manifeste fokkeringen gaan daarom naar de verkeerde oorsprong en 404/
CORS-fail.
・ Het gedrag van de leveringsdienst zelf is correct; het probleem is
alleen met waar de steekproef wordt uitgevoerd. Omdat /play een iframe is
gemakomslag het kan niet de juiste gastheer kennen wanneer buiten loopt
leveringsdomein.
Aanbevolen manier om een merkspeler te testen of in te sluiten:

  1. Roep direct manifest, die /play omzeilt:

    ・ HLS /adobe/assets/{assetId} /manifest.m3u8

    ・ DASH /adobe/assets/{assetId} /manifest.mpd

  2. Geef die URL door aan uw eigen instantie Video.js / hls.js / dash.js.

(Zie API-documenten voor levering: API's voor levering.)
Als u moet blijven gebruiken /play moet u iframe van ontvangen
levering-xxxxx-eyyyyy domein of pas geproduceerde HTML aan zodat
De oorsprong is hard-gecodeerd aan die gastheer.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f