api - Access-Control-Allow-Origin 不允许

标签 api youtube cors

我正在尝试从本地服务器向 YouTube 服务器发送请求,但 Chrome 控制台显示以下错误

Access-Control-Allow-Origin 不允许 代码是

http.open("POST", url, true);
    http.setRequestHeader("Authorization", "AuthSub token=" + AccessToken);
    http.setRequestHeader("GData-Version", 2);
    http.setRequestHeader("X-GData-Key", "key=" + dev_key);
    http.setRequestHeader("Content-Length", sendXML.length);
    http.setRequestHeader("Content-Type", "application/atom+xml; charset=UTF-8");



    http.onreadystatechange = function() 
    {
        if(http.readyState == 4) {
            alert(http.responseXML);
            alert(http.responseText);
            document.getElementById("response").innerHTML=http.getAllResponseHeaders();
        }
    }
    http.send(sendXML);

这将通过实现 JSONP 回调函数来完成。但我不知道如何实现它
请指导我

最佳答案

由于浏览器的 same origin policy,您无法针对 YouTube API 使用 XMLHttpRequest 。相反,您应该使用 YouTube API 的 json-p 功能:

http://code.google.com/apis/youtube/2.0/developers_guide_json.html

编辑:自 2012 年 5 月 18 日起,YouTube API 支持 CORS:http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html

关于api - Access-Control-Allow-Origin 不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9324284/

相关文章:

laravel - 检测从 Postman 发送的请求

python - 如何在代码负载中传递我创建的 slackbot 的用户名/图标?

java - 优雅地处理多个文件输入机制

android - 使用 React Native 的 Webview 和 listview 中的 Youtube 视频

node.js - Socket.io + Node.js 跨域请求被阻止

tomcat - 将 CORS 过滤器应用于 Tomcat 4XX 响应

api - OpenTok - 如何手动发布/取消发布?

html - 适用于YouTube的HTML5 <视频>

javascript - "angular2-image-upload"npm 库 CORS 错误

c# - youtube api:上传无效