Настройка HTTP-заголовка для аутентификации сервера лицензий DRM с помощью Tizen AVPlay

Я использую AVPlay для воспроизведения содержимого DRM. Мне нужно установить HTTP-заголовок для URL-адреса лицензии. Как мне это сделать?

webapis.avplay.setDrm('PLAYREADY', 'SetProperties', angular.toJson({
    LicenseServer:entitlementData.LicenseURL,
    'X-AxDRM-Message':entitlementData.DRMToken
}));

Мне нужно установить X-AxDRM-Message в заголовке HTTP


person Jiew Meng    schedule 26.07.2017    source источник
comment
Привет, ты нашел ответ?   -  person Fatih Çelik    schedule 02.11.2018


Ответы (4)


Я выяснил, как отправить несколько заголовков Http на сервер лицензий DRM. Если вы хотите отправить несколько заголовков http, вы должны разделить их с помощью ключа \n.

Вы можете попробовать сами:

        var drmParam = {
            DeleteLicenseAfterUse: true,
            LicenseServer: licenseServerURL,
            HttpHeader: "Authorization:" + authValue + "\nMY-Ticket:" + ticketValue
        };
        webapis.avplay.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));
person Fatih Çelik    schedule 14.11.2018

Как вы, возможно, уже знаете, angular.toJson() и JSON.stringify() имеют существенную разницу.

Разница между toJSON() и JSON.Stringify()

Изучив пример кода в этом справочнике по API, кажется, что следует использовать JSON.stringify().

http://developer.samsung.com/tv/develop/api-references/samsung-product-api-references/avplay-api

var drmParam = new Object();
drmParam.LicenseServer = "http://license.company.com";
drmParam.CustomData = "mycustom";
playerObj.setDrm("PLAYREADY", "SetProperties", JSON.stringify(drmParam));

Вы можете попробовать этот формат в своем исходном коде.

Кроме того, этот документ содержит некоторое обсуждение заголовка HTTP, хотя он касается Apple tvOS, но, я думаю, может вам пригодиться.

Отправка и получение HTTP-заголовков AVPlayer

person Armaan-Ul-Islam    schedule 27.07.2017
comment
Похоже, это не работает, означает ли CustomData заголовок HTTP? - person Jiew Meng; 27.07.2017
comment
CustomData == HTTP-заголовок? Не могу сказать. Отредактировал ответ. - person Armaan-Ul-Islam; 03.08.2017

Что вам нужно сделать, это установить параметры:

const drmParam = {
          DeleteLicenseAfterUse: true,
          LicenseServer: uri,
          X-AxDRM-Message: : entitlementData.DRMToken
        };

И затем вам нужно убедиться, что объект JSON выглядит следующим образом:

const params = JSON.stringify(drmParam);

После того, как у вас есть объект, вы сможете выполнить настройку параметров следующим образом:

webapis.avplay.setDrm('PLAYREADY', 'SetProperties', params);

Надеюсь, это поможет!

person Alexandro Campos    schedule 09.08.2017

person    schedule
comment
Хотя этот код может ответить на вопрос, лучше объяснить, как решить проблему, и предоставить код в качестве примера или ссылки. Ответы, содержащие только код, могут сбивать с толку и не иметь контекста. - person Robert Columbia; 21.09.2018
comment
На сайте разработчиков Samsung это рекомендуется. Но не понятно как этим пользоваться. А еще мне нужно отправить два заголовка, и я не знаю, как их объединить. Есть ли документация/опыт по этому поводу? developer.samsung.com/tv /support/documentation-qa/ - person Fatih Çelik; 09.11.2018