使用 Rest API 在 Javascript 开始存档
Starting Archive in Javascript using Rest API
我正在尝试使用 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)
有什么想法吗?
此处为 TokBox 开发人员布道师。
生成 JWT 令牌时,您需要使用 JWT 库并使用 TokBox API Secret 对令牌进行签名。由于您使用的是 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 秘密。任何拥有您的 API 密钥和秘密的人都可以像您一样使用 OpenTok API。
或者,您可以使用 OpenTok Server SDKs 创建 OpenTok 会话、生成令牌、使用 OpenTok 存档、广播、SIP 等。您不必担心生成 JWT 令牌,因为服务器 SDK 会代表您执行此操作。
资源:
我正在尝试使用 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)
有什么想法吗?
此处为 TokBox 开发人员布道师。
生成 JWT 令牌时,您需要使用 JWT 库并使用 TokBox API Secret 对令牌进行签名。由于您使用的是 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 秘密。任何拥有您的 API 密钥和秘密的人都可以像您一样使用 OpenTok API。
或者,您可以使用 OpenTok Server SDKs 创建 OpenTok 会话、生成令牌、使用 OpenTok 存档、广播、SIP 等。您不必担心生成 JWT 令牌,因为服务器 SDK 会代表您执行此操作。
资源: