Codecademy代码在他们的网站上连接到Youtube API,但赢得了't在本地运行

Codecademy code connect to Youtube API on their website but won't run locally

本文关键字:运行 网站 他们的 代码 连接 Codecademy API Youtube      更新时间:2024-05-22

我是一个完全的新手,但我正在做连接到YouTube API并执行搜索的教程,其中包括制作一个search.js文件和一个search.html文件。html然后调用search.js文件,该文件具有以下函数。Codecademy中的一切都很好,我可以看到我的youtube查询的正常结果。但我想玩得更多,所以我把这两个文件剪切并粘贴到.js和.html文件中,把它们放在同一个目录中,并尝试在本地运行,但后来我只得到了一个空白的html页面。

代码为:

Search.js

function showResponse(response) {
    var responseString = JSON.stringify(response, '', 2);
    document.getElementById('response').innerHTML += responseString;
}
function onClientLoad() {
    gapi.client.load('youtube', 'v3', onYouTubeApiLoad);
}
function onYouTubeApiLoad() {
    gapi.client.setApiKey('AIzaSyCR5In4DZaTP6IEZQ0r1JceuvluJRzQNLE');
    search();
}
function search() {
    var request = gapi.client.youtube.search.list({
        part: 'snippet',
        q: 'Ben Woods',
    });
    request.execute(onSearchResponse);
}
function onSearchResponse(response) {
    showResponse(response);
}

Search.html

<!DOCTYPE html>
<html>
    <head>
        <script src="search.js" type="text/javascript"></script>
        <script src="https://apis.google.com/js/client.js?onload=onClientLoad" type="text/javascript"></script>
    </head>
    <body>
        <pre id="response"></pre>
    </body>
 </html>

当我打开html文档时,我只得到一个空白页面,如果我Alt+Command+J,我会看到以下错误:铬的Denying load-extension://gkojfkhlekighikafcpjkiklfbnlmeio/js/jquery.min.map.资源必须列在web_accessible_Resources清单键中,才能由扩展之外的页面加载。核心:rpc:shindig随机:shindig.sha1.js?c=2:838无法在"DOMWindow"上执行"postMessage":提供的目标来源("file://")与收件人窗口的来源("ull")不匹配。cb=gap.loaded_0:47无法在"DOMWindow"上执行"postMessage":提供的目标来源("file://")与收件人窗口的来源("ull")不匹配。

如果您有Hola Better Internet,这可能是您的问题。有一段时间我也遇到了同样的问题,我从我的网站上删除了所有与jquery/javascript稍微相关的内容,但它并没有解决问题。我从Chrome中删除了Hola,它解决了问题。

我认为您的问题是您正在本地运行文件(通过file://),但API希望您通过http://或https://调用它。与其在本地工作,不如尝试使用像这样的在线js游乐场http://jsfiddle.net/