我正在尝试使用Youtube api 3.0获取单个视频的数据,但我无法弄清楚如何操作。
我设法让这个示例很容易实现:https://developers.google.com/youtube/v3/code_samples/php
并稍微自定义。
但现在我正在尝试获取具有特定ID的单个视频的信息。
我在这里尝试
$data = $youtube->videos->list("snippet");
这总是给我这个错误
无法在第95行的{SERVER_PATH} /Google_ServiceResource.php中取消设置字符串偏移
如果有人可以提供帮助,我会非常感激。
答案 0 :(得分:10)
无法提供确切的PHP代码,但网址是这样的
String url = "https://www.googleapis.com/youtube/v3/videos?id="+videoID+"&key=" + YOUR KEY HERE + "&fields=items(id,snippet(channelId,title,categoryId),statistics)&part=snippet,statistics";
你得到一个你解析的JSON对象:)
答案 1 :(得分:1)
我不知道你是否已经想出来 - 因为它已经有一段时间了,但我相信你是在呼唤一个不存在的功能。我认为应该是:
$data = $youtube->videos->listVideos("snippet");
答案 2 :(得分:0)
使用AngularJS
app.controller('oneVideoCtrl', function($scope, $http, $stateParams, $location){
$scope.videos = [];
$scope.youtubeParams = {
key: 'YOUR-API-KEY-HERE',
type: 'video',
kind: 'youtube#video',
maxResults: '1',
part: 'id,snippet',
order: 'viewCount',
channelId: 'YOUR-CHANNEL-ID-HERE',
playlistId: 'YOUR-PLAYLIST-ID-HERE',
}
// Get single specific YouTube video
$http.get('https://www.googleapis.com/youtube/v3/videos?id=VIDEO-ID-HERE', {params:$scope.youtubeParams}).success(function(response){
angular.forEach(response.items, function(child){
console.log (child);
$scope.videos.push(child);
});
});
});
答案 3 :(得分:-2)
使用Youtube API v3的确切请求:
https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID_HERE&fields=items(snippet(title))&part=snippet&key=API_KEY_HERE
你会得到这个:
{
"items": [
{
"snippet": {
"title": "VIDEO_TITLE_HERE"
}
}
]
}