Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Youtube API程序赢得';t运行--JavaScript_Javascript_Html_Api_Youtube - Fatal编程技术网

Youtube API程序赢得';t运行--JavaScript

Youtube API程序赢得';t运行--JavaScript,javascript,html,api,youtube,Javascript,Html,Api,Youtube,我现在对API还比较陌生。我试图允许用户搜索youtube视频,并让它显示前三个结果。参考下面的代码(我使用youtube视频“使用youtube API搜索视频”-FSquare寻求帮助并给予他们信任-有一些修改,但并不完全相同;它只是用来帮助我了解API的工作原理): HTML (index.html) 现在我想看看控制台中的结果是什么样的。但是,当我在简单的Python HTTP服务器上运行它时,控制台中会出现以下错误: Uncaught DOMException: Failed to r

我现在对API还比较陌生。我试图允许用户搜索youtube视频,并让它显示前三个结果。参考下面的代码(我使用youtube视频“使用youtube API搜索视频”-FSquare寻求帮助并给予他们信任-有一些修改,但并不完全相同;它只是用来帮助我了解API的工作原理):

HTML (index.html)

现在我想看看控制台中的结果是什么样的。但是,当我在简单的Python HTTP服务器上运行它时,控制台中会出现以下错误:

Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
    at contents (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:2:5154)
    at Function.map (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:14862)
    at ot.fn.init.ot.fn.(anonymous function) [as contents] (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:2:5271)
    at HTMLIFrameElement.eval (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/views/overlay/ActivityMonitorOverlayView.js:1:1894)
    at Function.each (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:14059)
    at ot.fn.init.each (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:11922)
    at e.bindActivityDetectors (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/views/overlay/ActivityMonitorOverlayView.js:1:1853)
    at e.init (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/ActivityMonitorController.js:1:255)
    at onLoaded (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/content.js:1:979)
    at eval (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/ComponentFactory.js:1:943)

从研究中可以看出,我需要在HTTPS服务器上运行此操作以查看结果,但我不清楚如何执行此操作,或者这是否是原因。

看起来您的代码试图访问跨源帧,而不是使用HTTPS访问任何内容-但这只是猜测
阻止帧的原因。。。从访问跨原点帧
实际上意味着我要防止这种情况发生吗?我是否必须在特定的服务器上运行此功能,或者这会导致身份验证问题?帧无法(直接)访问跨源帧。。。没有什么可以“阻止”的,m这叫做安全那么我该怎么做呢?我的代码的哪一部分产生了这个错误?哪一部分?我不知道,你有错误堆栈跟踪,你告诉我!我的猜测是它与iframe有关,但这纯粹是基于错误消息中两次提到的单词
frame
的猜测
$(document).ready(function() {

  $(function() {
    $("form").on("submit", function(e) {
      e.preventDefault();
      //prepare request
      var request = gapi.client.youtube.search.list({
        part: "snippet",
        type: "video",
        q: encodeURIComponent($("#searchText").val()).replace(/%20/g, "+"),
        maxResults: 3,
        order: "viewCount",
        publishedAfter: "2016-01-01T00:00:00Z" //Will get videos published after midnight, 2015.
      });
      //execute request
      request.execute(function(response) {
        console.log(response);
      });
    });
  });


  function init() {
    gapi.client.setApiKey(ApiKey);
    gapi.client.load("youtube", "v3", function() {
      alert("The Youtube API is ready! Use away.");
    });
  }

})
Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://127.0.0.1:8000" from accessing a cross-origin frame.
    at contents (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:2:5154)
    at Function.map (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:14862)
    at ot.fn.init.ot.fn.(anonymous function) [as contents] (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:2:5271)
    at HTMLIFrameElement.eval (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/views/overlay/ActivityMonitorOverlayView.js:1:1894)
    at Function.each (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:14059)
    at ot.fn.init.each (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/vendor/jquery.min.js:1:11922)
    at e.bindActivityDetectors (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/views/overlay/ActivityMonitorOverlayView.js:1:1853)
    at e.init (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/components/ActivityMonitor/ActivityMonitorController.js:1:255)
    at onLoaded (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/content.js:1:979)
    at eval (chrome-extension://laankejkbhbdhmipfmgcngdelahlfoji/core/ComponentFactory.js:1:943)