Suk*_* MS 5 javascript youtube angularjs youtube-data-api
我正在致电youtube api以获取youtube视频数据列表。但我得到403错误。我还启用了YouTube数据API(v3)。
我正在尝试使用YouTube API从YouTube获得视频列表。我正在使用API密钥。当我使用下面的URL时,一切正常,并且得到了预期的结果:GET https://www.googleapis.com/youtube/v3/videos?id=i7KKDpmnR7U&key=YOUR_API_KEY=snippet,statistics,contentDetails
但是当我在本地尝试时,我无法在控制台中打印成功响应。我总是得到错误响应,因为禁止403。在本地环境中运行时有什么问题吗?或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);
});
}
}
Run Code Online (Sandbox Code Playgroud)
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Forbidden"
}
],
"code": 403,
"message": "Forbidden"
}
}
Run Code Online (Sandbox Code Playgroud)
仅在尝试使用$ http.get()方法在本地运行时,我才报错。但是当我在浏览器窗口上用apikey和videoId手动绑定URL时(https://www.googleapis.com/youtube/v3/videos?id=i7KKDpmnR7U&key=AIzaSyBbyrB-WGvDSYrxHhEnQfcTuiyrDkF7LwI&part=snippet,统计信息成功,内容详细浏览器,即视频对象。
查看他们的文档,您想提出这样的请求:
var url = 'https://www.googleapis.com/youtube/v3/videos';
// These are the required query options
var requiredParameters = {
part: 'snippet', //required, json form, use 'snippet'
key: 'API_KEY', // required, put api key here, try to hide it
id: '12345', // required, the video id
};
$http({
method: 'GET',
url: url,
params: requiredParameters
})
.then((response) => {
})
.catch((err) => {
})
/* Optional parameters
{
h1,
maxHeight,
maxResults,
maxWidth,
onBehalfOfContentOwner,
pageToken,
regionCode,
videoCategoryId
}
*/
Run Code Online (Sandbox Code Playgroud)
注意:当不提供 OAuth 2.0 令牌时使用 key 参数。如果您有令牌,请将其传递到标头中,如下所示:
Authorization: 'Bearer oauth2-token'
Run Code Online (Sandbox Code Playgroud)
另一种方法是将“key”切换为“access_token”,并将 OAuth 2.0 令牌作为查询参数放在那里
| 归档时间: |
|
| 查看次数: |
607 次 |
| 最近记录: |