Cors OPENTOK REST API没有';行不通
[编辑]我的帖子描述不好,对不起我的英语,我重新开始。 我的意思是,当我从localhost向api opentok发出ajax rest请求时,出现以下错误: 加载/广播失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许原点”标头。因此,不允许访问源“” 这段代码表示ajax查询:Cors OPENTOK REST API没有';行不通,cors,opentok,tokbox,Cors,Opentok,Tokbox,[编辑]我的帖子描述不好,对不起我的英语,我重新开始。 我的意思是,当我从localhost向api opentok发出ajax rest请求时,出现以下错误: 加载/广播失败:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许原点”标头。因此,不允许访问源“” 这段代码表示ajax查询: var dataLiveStreamRequestBody = { "sessionId": sessionId,
var dataLiveStreamRequestBody = {
"sessionId": sessionId,
"layout": {
"type": "bestfit",
},
"maxDuration": 5400,
"outputs": {
"hls": {},
"rtmp": [{
"id": "<adresse_ip>",
"serverUrl": "rtmp://<adresse_ip>/<streamname>/toto",
"streamName": "<stream-name>"
}]
},
"resolution": "640x480"
};
$.ajax({
contentType: 'application/json',
data: JSON.stringify(dataLiveStreamRequestBody),
dataType: 'json',
beforeSend: function(xhr){
xhr.setRequestHeader('X-OPENTOK-AUTH', '<token>');
xhr.setRequestHeader('Accept', 'application/json');
},
success: function(data){
console.log("live streaming broadcast succeeded");
},
error: function(){
console.log("live streaming broadcast failed");
},
type: 'POST',
url: 'https://api.opentok.com/v2/project/'+ apiKey +'/broadcast'
});
var dataLiveStreamRequestBody={
“sessionId”:sessionId,
“布局”:{
“类型”:“最佳匹配”,
},
“最大持续时间”:5400,
“产出”:{
“hls”:{},
“rtmp”:[{
“id”:“Tokbox QA人员在这里
不确定您想做什么,但这可能会有所帮助:
另一方面,IP 127.0.0.1:8081看起来不太好,因为它是一个内部地址。IP从哪里来?TokBox开发者福音传道者
您应该从服务器上进行startBroadcast
调用,因为调用需要X-OPENTOK-AUTH
头,该头是使用apiKey
和apiSecret
生成的。apiSecret
不应该在客户端公开,因为它用于生成OPENTOK和
另外,这里有一个StackOverflow的答案,解释了当你遇到访问控制允许源站
问题时该怎么办:这个ip是我的本地主机地址,我从本地主机应用程序向opentok api发出请求。这是源站。你不能使用该ip 127.0.0.1,因为这样opentok服务器就无法访问你的服务器。你必须使用其公共地址谢谢,事实上问题与“访问控制允许来源”有关,您的问题有解决方案。