【问题标题】:Angular/YouTube API v3: 401 Invalid credentials error on searchAngular/YouTube API v3:搜索时出现 401 无效凭据错误
【发布时间】:2016-03-18 18:54:50
【问题描述】:

还在学习 Angular,所以请温柔一点。 ;)

当我第一次创建并添加 YouTube API 密钥时,我成功获得了搜索结果。但是,第二天它停止工作并给我一个 401 错误,并显示“凭据无效”的消息。

我在这里看到了一些关于必须添加 OAuth 的问题,但我认为这不适用于我,因为我只是搜索和播放视频......对吗?

我一直使用this project 作为指导,它工作得很好。我不确定我做了什么不同的事情。

这是我的控制器,带有要搜索的 $http.get

var youtubeAPIKey = "AIzaSyA4EF_e56jFBfRPBx57wkzN2ppKudMcZvk";

$scope.search = function() {
  $http.get('https://www.googleapis.com/youtube/v3/search', {
    params: {
      key: youtubeAPIKey,
      type: 'video',
      maxResults: '20',
      part: 'id,snippet',
      videoCategoryId: '10',
      q: this.query
    }
  })
  .success(function(data) {
    console.log(data);
    $scope.searchResults = data;
  })
  .error(function(err) {
    console.log(err);
  });
}

不确定是否重要,但这里是搜索 HTML

<div class="search-box">
  <form ng-submit="search()">
    <input type="search" placeholder="It's your turn! Search for a song to add"
    ng-model="query" />
  </form>
</div>
<div class="search-results" ng-if="searchResults">
  <ul>
    <li class="list-item"
      ng-repeat="result in searchResults.items" 
      ng-click="add(result.id.videoId, result.snippet.title)">
      <div class="song-info">{{result.snippet.title}}</div>
      <button class="player-btn glyphicon glyphicon-headphones"
        ng-click="preview(result.id.videoId, result.snippet.title)">   
      </button>
      <button class="player-btn glyphicon glyphicon-plus"></button>
    </li>
</ul>

编辑:这是错误:

error: Object
  code: 401
  errors: Array[1]
    0: Object
    domain: "global"
    location: "Authorization"
    locationType: "header"
    message: "Invalid Credentials"

【问题讨论】:

  • 你有想过这个吗?我有同样的错误

标签: javascript angularjs api youtube youtube-api


【解决方案1】:

我会首先检查您是否可以通过 RESTful 控制台(例如 Postman)、CURL 或仅从浏览器发出请求。例如,从命令行运行:

$ curl -XGET https://www.googleapis.com/youtube/v3/search?key=<API_KEY_HERE>\&part=id,snippet

或者只是从浏览器:

https://www.googleapis.com/youtube/v3/search?key=<API_KEY_HERE>&part=id,snippet

这至少可以隔离问题是角度还是端点/请求。

【讨论】:

  • 我可以使用您发布的 URL 获取结果,但如果我尝试添加查询或类别,例如:https://www.googleapis.com/youtube/v3/search?key=AIzaSyA4EF_e56jFBfRPBx57wkzN2ppKudMcZvk&amp;part=id,snippet&amp;q=kanye,我会收到带有 @ 消息的 403 错误987654325@
  • 另外,我没有设置 HTTP 引荐来源网址。我尝试向其中添加 OAuth,但出现了相同的“无效凭据”错误。
  • 听起来您还没有设置正确的 Youtube API 密钥(看起来您需要一个)。我建议设置一个并使用新的 API 密钥发出相同的请求,看看您是否可以克服错误。
猜你喜欢
  • 2019-07-08
  • 2013-03-23
  • 2021-04-08
  • 2016-06-22
  • 1970-01-01
  • 2016-02-04
  • 1970-01-01
  • 1970-01-01
  • 2020-11-12
相关资源
最近更新 更多