还在学习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"
答案 0 :(得分:0)
我首先会检查您是否可以通过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
这至少可以确定问题是使用角度还是使用端点/请求。