javascript - 从 YouTube API 获取 YouTube 视频列表时出现禁止错误?

标签 javascript angularjs youtube youtube-data-api

我正在调用 youtube api 来获取 youtube 视频数据列表。但我收到 403 错误。我还启用了 YouTube 数据 API (v3)。

我正在尝试使用 YouTube API 从 YouTube 获取视频列表。我正在使用 API key 。当我使用下面的 URL 时,一切正常,我得到了想要的结果:GET https://www.googleapis.com/youtube/v3/videos?id=i7KKDpmnR7U&key=YOUR_API_KEY=snippet,statistics,contentDetails

但是当我在本地尝试时,我无法在我的控制台中打印成功响应。我总是收到错误响应,因为 get 403 forbidden。我们在本地环境运行有什么问题吗?或者 Api 有任何问题

缺少任何提示会很棒!

我的代码

$scope.youtubeApi = function(videoId){
    console.log('youtubeApi: ' + JSON.stringify(videoId));

    if (videoId) {
        //console.log('Youtube API Call function is called and Video is is : ' + videoId);

        var API_KEY = "AIzaSyCmsmxLnAnDxwQ6wzzzHnLEGBt7X8ce94wI10A";

        $http.get("https://www.googleapis.com/youtube/v3/videos?id="+ videoId + "&key=" + API_KEY + "&part=snippet,statistics,contentDetails").
        success(function (data, status, headers, config) {
           console.log('sucess call.' + JSON.stringify(data));
          //$timeout(parseresults(data), 500);
          //formObject(data);
        }).
        error(function (data, status, headers, config) {
          console.log('Error while saving this Video Id details in rest.' + JSON.stringify(data));
          console.log('Error while saving this Video Id details in rest.' + videoId);
        });
      }
  }

控制台错误

{
  "error": {
    "errors": [
      {
        "domain": "global",
        "reason": "forbidden",
        "message": "Forbidden"
      }
    ],
    "code": 403,
    "message": "Forbidden"
  }
}

只有当我尝试使用 $http.get() 方法在本地运行时才会出现错误。但是当我在浏览器窗口(https://www.googleapis.com/youtube/v3/videos?id=i7KKDpmnR7U&key=AIzaSyBbyrB-WGvDSYrxHhEnQfcTuiyrDkF7LwI&part=snippet,statistics,contentDetails)上手动将 url 与 apikey 和 videoId 绑定(bind)时,在浏览器中获得成功响应,即视频对象。

最佳答案

根据 YouTube v3 error document .错误类型 403 是 forbiddenquotaExceeded 的符号。请在下方找到说明。

enter image description here

因此,id (i7KKDpmnR7U) 参数指定的 channel 不支持请求或请求未被正确授权。

                                       OR

当未正确授权的请求试图检索视频资源的详细信息时,videos.list 方法返回禁止 (403) 错误。这些部分仅供视频所有者使用。

关于javascript - 从 YouTube API 获取 YouTube 视频列表时出现禁止错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103210/

相关文章:

javascript - 如何在 php 代码中使用 jQuery 变量?

javascript - 边缘情况 : Kendo Web UI Grid 'Select' method not working properly

android - 如何在 android webview 中获取完成 youtube 视频的事件

javascript - 无法从提供的 XML 创建 MxGraph

javascript - 如何在react-router中创建 `/orders/:id/detail`路径

angularjs - 测试 ui.router $stateChangeSuccess

javascript - 使用指令从另一个 Controller 更新 $scope

html - 通过使用 Javascript CSS 单击选择时更改颜色

javascript - 如何将嵌入式 Youtube 播放器静音?

json - youtube视频信息json对象给出错误