Facebook graph api Facebook JS SDK CORS问题

Facebook graph api Facebook JS SDK CORS问题,facebook-graph-api,cors,facebook-javascript-sdk,Facebook Graph Api,Cors,Facebook Javascript Sdk,我正在使用Facebook js SDK“Go Live Dialog”进行流媒体直播,在我想发布流媒体的最后一步之前,一切都正常,但由于出现CORS错误,我无法发布流媒体,它是: 无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:“访问控制允许原点”标头包含多个值“*,”,但只允许一个值。因此,不允许访问源“” 问题是由于graph2.facebook.com发送CORS头两次: 访问控制允许来源:* 访问控制允许来源: 谷歌浏览器只接受一个 我把它作为一个应用程序打

我正在使用Facebook js SDK“Go Live Dialog”进行流媒体直播,在我想发布流媒体的最后一步之前,一切都正常,但由于出现CORS错误,我无法发布流媒体,它是:

无法加载XMLHttpRequest。对飞行前请求的响应未通过访问控制检查:“访问控制允许原点”标头包含多个值“*,”,但只允许一个值。因此,不允许访问源“”

问题是由于graph2.facebook.com发送CORS头两次:

访问控制允许来源:*

访问控制允许来源:

谷歌浏览器只接受一个

我把它作为一个应用程序打开,但直到现在,他们的答案是在我的浏览器上“禁用CORS安全”,如果我想让我的应用程序对每个人公开,这是一个糟糕的解决方案。

该应用程序的代码如下:

<script>
window.fbAsyncInit = function() {
FB.init({
  appId      : '452751035113070',
  xfbml      : true,
  version    : 'v2.8'
});
};

(function(d, s, id){
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) {return;}
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/sdk.js";
 fjs.parentNode.insertBefore(js, fjs);
 }(document, 'script', 'facebook-jssdk'));
 </script>
 <button id="liveButton">Create Live Stream To Facebook</button>
 <script> 
 document.getElementById('liveButton').onclick = function() {
 FB.ui({
 display: 'popup',
 method: 'live_broadcast',
 phase: 'create',
 }, function(response) {
 if (!response.id) {
  alert('dialog canceled');
  return;
 }
 console.log('stream url:' + response.secure_stream_url);
 FB.ui({
  display: 'popup',
  method: 'live_broadcast',
  phase: 'publish',
  broadcast_data: response,
 }, function(response) {
 console.log("video status: \n" + response.status);
 });
 });
 };
 </script>

window.fbAsyninit=函数(){
FB.init({
appId:'452751035113070',
xfbml:是的,
版本:“v2.8”
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=“//connect.facebook.net/en_US/sdk.js”;
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
创建Facebook的实时流
document.getElementById('liveButton')。onclick=function(){
FB.ui({
显示:“弹出窗口”,
方法:“现场直播”,
阶段:“创建”,
},功能(回应){
如果(!response.id){
警报(“对话框已取消”);
返回;
}
log('stream url:'+response.secure\u stream\u url);
FB.ui({
显示:“弹出窗口”,
方法:“现场直播”,
阶段:“发布”,
广播数据:响应,
},功能(回应){
console.log(“视频状态:\n”+响应状态);
});
});
};
也在这里:。 要进行真正的尝试,您应该使用wowza或类似工具启动流媒体,如果没有,则“发布”按钮将被禁用,当我单击“发布”按钮时会出现问题


是否有人知道如何处理该脚本以允许所有用户使用该脚本,并强制他们使用其他浏览器或禁用安全选项?或者我需要等到facebook修复它?

我禁用了一个Chrome扩展,它就可以工作了

扩展是:JetBrains IDE支持2.0.9

这很奇怪,因为每个帖子都在谈论你不能有2个CORS指令,我认为服务器一直在发送2个指令,或者服务器只发送1个指令,而这个扩展修改了标题…我不知道,但现在ir工作了