Youtube api ‘;访问控制允许原点’;上载到YouTube API时丢失

Youtube api ‘;访问控制允许原点’;上载到YouTube API时丢失,youtube-api,cors,youtube-data-api,Youtube Api,Cors,Youtube Data Api,几年来,我们一直使用一些自定义JavaScript代码通过YouTube API成功上传视频。代码基于Google提供的一些示例(cors_upload.js)。这不是我们经常使用的东西,只是每隔几周 几周前一切都很顺利,但我注意到最近一切都停止了。我们登录良好,我们获得频道信息良好。但当我们开始上传(通过XHR POST进行上传)时,我们得到了一个CORS错误: 已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许原点”) 但我们的代码或服务器上没有做任何

几年来,我们一直使用一些自定义JavaScript代码通过YouTube API成功上传视频。代码基于Google提供的一些示例(cors_upload.js)。这不是我们经常使用的东西,只是每隔几周

几周前一切都很顺利,但我注意到最近一切都停止了。我们登录良好,我们获得频道信息良好。但当我们开始上传(通过XHR POST进行上传)时,我们得到了一个CORS错误:

已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许原点”)

但我们的代码或服务器上没有做任何更改,似乎我们正在做谷歌记录的所有必要的事情,让他们的服务响应所需的CORS头

根据开发人员控制台,XHR请求实际上生成2个网络请求。首先,我看到一个“选项”:

这实际上返回了我期望的“accesscontrolalloworigin”头。然而,紧接着是“POST”请求:

根据dev控制台,它没有设置“accesscontrolalloworigin”头。所以,我理解为什么我的浏览器拒绝这些东西。谷歌似乎弄坏了什么东西


我确实成功地在我们管理的服务器上部署了NodeJS“CORS Anywhere”服务器。所以,我可以用它来解决这个问题。但这并不是解决问题的正确方法。由于以编程方式上传视频并不是我们经常做的事情,这项工作对我们来说可能就足够了。我很想了解出了什么问题或如何修复。所以,如果有人成功地上传了带有YouTube API和JavaScript的视频,我很想知道。希望这将有助于教育其他人,如果/当他们遇到这个问题。

同样的问题刚刚开始发生在我的服务上


这似乎是googleapis上的一个bug,或者youtube.v3.api的策略发生了变化,并开始阻止一些客户端。

这里也一样。我没有解决办法,只是一个变通办法,我希望他们能尽快解决。您可以在chrome中禁用CORS安全检查。使用--disable web security运行chrome.exe,并使用以下参数和所需文件夹--user data dir=c:/anyfolderName将用户数据目录临时设置到另一个位置/`

出于安全原因,只有在必须禁用web安全时,才应禁用web安全,完成后再切换


我不知道这为什么会被否决,因为它帮助我四处走动。现在谷歌解决了这个问题,不再需要使用这个解决方法。但是,当另一个CORS问题出现时,它可能会有所帮助……

谷歌已经解决了这个问题,我们的长期代码在没有任何更改的情况下重新开始工作

以下是跟踪问题:

@DaImTo“Access Control Allow Origin”值在youtube端需要,而不是在所有者端如果我正确理解协议,则必须在youtube端生成“Access Control Allow Origin”响应头,并由浏览器接收,以有效地说“您的应用程序起源的域可以与我对话”。正如我所说,这正是我从选项请求中得到的。大概几周前,这就是我在我的发帖请求中得到的。但是现在,POST请求没有这样的响应头,触发我的浏览器引发CORS冲突。你是说这不对吗?复习后:我相信我的理解是正确的。选项请求被称为“飞行前”,我确实在“飞行前”的响应标题中获得ACAO。由于“飞行前”一切正常,浏览器发出请求,服务器应该用另一个ACAO头进行响应,但这并没有发生。因此,这可能是googleapis.com服务中的错误,或者需要一些与帐户/身份验证相关的设置才能使服务器正确响应。嘿,非常感谢您确认这不仅仅是我和我的帐户。我希望我知道该做什么或者确切地告诉谁。我把这个问题贴到了:但是那里的很多问题似乎都没有得到解决,所以我没有屏住呼吸。
Request URL:https://www.googleapis.com/upload/youtube/v3/videos?part=snippet%2Cstatus&uploadType=resumable
Request Method:OPTIONS
Remote Address:172.217.9.42:443
Request URL:https://www.googleapis.com/upload/youtube/v3/videos?part=snippet%2Cstatus&uploadType=resumable
Request Method:POST
Remote Address:172.217.9.42:443