Problema no DM com OpenAPI - API do contêiner do reprodutor de vídeo
Ao usar o DynamicMedia com a função de APIs abertas [ 0] e usar o código retornado para exibir o visualizador de um site externo inalterado, o código gera URLs malformadas para buscar detalhes de vídeo e não funcionará.
Descrição description
Descrição : Quando eu pegar a documentação aqui:
https://developer.adobe.com/experience-cloud/experience-manager-apis/api/stable/assets/delivery/#operation/videoPlayerDelivery
e use a janela de solicitação/resposta no lado direito dessa
documentação para testar um ativo de vídeo e fazer com que ele retorne o código
Acho que posso reproduzir a seguinte preocupação:
Para bucket, uso: "delivery-pxxxxx-eyyyyy" (domínio de delivery DMwOA ativado)
Por segurança, uso "nenhum" para manter o exemplo simples e mostrar que
a segurança não é a causa da preocupação.
Para assetId, uso "urn:aaid:aem:aaaaaaa-bbbb-cccc-dddd-eeeeeeeee" (assetID válido e aprovado)
Quando uso gerar a resposta a partir disso, vejo na linha 157:
origem da permissão = window.location.origin;
onde isso leva ao erro que você está vendo na solicitação de miniatura
na linha 160, e no pedido manifesto na linha 174, uma vez que
window.location.origin não é fornecido pelo servidor de delivery
"https://delivery-pxxxxx-eyyyyyyy.adobeaemcloud.com" mas do seu próprio
servidor Web conforme esperado. Deve ser 'let'
origin="https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com" ' ou
qualquer que seja o servidor de delivery enviado com a solicitação.
Isso é um erro? Qual é a recomendação?
Resolução resolution
O que você está vendo é esperado:
· O código retornado pela operação de entrega do reprodutor de vídeo é um
Modelo do HTML que contém
origem da permissão = window.location.origin;
… fetch(${origin}/adobe/assets/…)
Ele presume deliberadamente que está sendo renderizado a partir do mesmo host que
atenderá aos fluxos, ou seja, o nível de delivery (para o bucket de teste)
que seria https://delivery-pxxxxx-eyyyyyy.adobeaemcloud.com).
· Ao executar esse trecho a partir do painel "Experimente" do Swagger (que
é executado em developer.adobe.com) ou cole-o no seu próprio site,
window.location.origin não é mais igual ao host de entrega. A miniatura
e as buscas manifest vão para a origem errada e 404/
Falha no CORS.
· O comportamento do próprio serviço de delivery está correto; o problema é
somente com onde a amostra é executada. Porque /play é um iframe
wrapper de conveniência, ele não pode conhecer o host correto quando executado fora do
domínio de entrega.
Forma recomendada de testar ou incorporar um reprodutor de marca:
-
Chame o manifesto diretamente, ignorando /play:
· HLS /adobe/assets/{assetId}/manifest.m3u8
· DASH /adobe/assets/{assetId}/manifest.mpd
-
Coloque esse URL na sua própria instância Video.js / hls.js / dash.js.
(Consulte os documentos da API de entrega: APIs de entrega.)
Se você precisar continuar usando /play, será necessário hospedar o iframe no
delivery-pxxxxx-eyyyy ou ajuste o HTML gerado para que
A origem é codificada para esse host.