OPENTOK REST API不起作用

时间:2018-06-16 15:48:00

标签: cors opentok tokbox

[编辑]我的帖子描述不好,对不起我的英语,我重新开始。 我的意思是当我向localhost发出请求ajax rest to api opentok时,我有这个错误:

无法加载https://api.opentok.com/v2/project/ /广播:对预检请求的响应未通过访问控制检查:请求的资源上没有“Access-Control-Allow-Origin”标头。因此,不允许原点“https://localhost:8081”访问。

此代码代表ajax查询:

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'
                });

我按照此页面上的说明操作:https://tokbox.com/developer/rest/#start_broadcast

2 个答案:

答案 0 :(得分:0)

Tokbox QA的工作人员在这里。

不确定你要做什么,但也许这会有所帮助:

https://tokbox.com/developer/rest/#start_broadcast

另一方面,IP 127.0.0.1:8081看起来不太好,因为它是一个内部地址。知识产权来自哪里?

答案 1 :(得分:0)

TokBox Developer Evangelist在这里。

您应该从服务器进行startBroadcast来电,因为该呼叫需要使用X-OPENTOK-AUTHapiKey生成的apiSecret标头。 apiSecret不应在客户端公开,因为它用于生成OpenTok sessionstokens

此外,这是一个StackOverflow答案,解释当您遇到Access-Control-Allow-Origin问题时该怎么做:Response to preflight request doesn't pass access control check