Запуск архива в Javascript с использованием Rest API - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь запустить архив в сеансе, встроенном в веб-страницу, используя javascript для выполнения вызовов opentok REST API.Мой JS выглядит следующим образом:

    var json_web_token = {
        "iss": apiKey,
        "ist": "project",
        "iat": Date.now(),
        "exp": Date.now()+180,  // 3 minute expiry, max is 5...
        "jti": token
    }
    //JSON.parse()
    var archivedata = {
        "sessionId" : sessionId, 
        "name" : archiveName, 
        "resolution" : "1280x720", 
        "layout": "pip"
    }

    fetch('https://api.opentok.com/v2/project/' + apiKey + '/archive', {
        method: 'POST',
        mode: 'no-cors',
        body: JSON.stringify(archivedata), 
        headers: new Headers({
            'Content-Type': 'application/json',
            'X-OPENTOK-AUTH': JSON.stringify(json_web_token),
        })
    })
    .then(response => response.json())
    .then(data => {
      console.log(data) // Prints result from `response.json()`
    })
    .catch(error => console.error(error));

Однако я получаю следующую ошибку консоли: POST https://api.opentok.com/v2/project/XXXXXXXX/archive 415 (Unsupported Media Type)

Есть идеи?

1 Ответ

0 голосов
/ 14 февраля 2019

TokBox Developer Evangelist здесь.

При создании токена JWT необходимо использовать библиотеку JWT и подписать токен, используя свой секретный ключ TokBox API.Поскольку вы используете JavaScript, вы можете использовать пакет jsonwebtoken .Ваш код для подписи кода будет выглядеть следующим образом:

   const jwt = require('jsonwebtoken'); // importing the library

   const apiKey = '';
   const apiSecret = '';
   const currentTime = Math.floor(new Date()/1000);
   const token = jwt.sign({
    "iss": apiKey,
    "ist": "project",
    "iat": currentTime,
    "exp": currentTime + 180, // maximum is 300
    "jti": "jwt_nonce",
   }, apiSecret);

Обратите внимание, что вам не следует генерировать токен JWT на стороне клиента, потому что тогда вы откроете API Secret.Любой, у кого есть API-ключ и секрет, сможет использовать OpenTok API как вы.

В качестве альтернативы вы можете использовать OpenTok Server SDK , которые позволяют создавать сеансы OpenTok, генерировать токены,работа с OpenTok архивация, вещание, SIP и многое другое.Вам не придется беспокоиться о создании токена JWT, потому что серверный SDK сделает это от вашего имени.

Ресурсы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...