我正在尝试使用Youtube api 3.0获取单个视频的数据,但我不知道如何做到这一点。
我设法使这个例子非常容易地工作:https://developers.google.com/youtube/v3/code_samples/php
并对其进行一些自定义。
但现在我正试图获得一个特定Id的单个视频的信息。
这是我尝试的
$data = $youtube->videos->list("snippet");
这总是给我这个错误
无法在{SERVER_PATH}/Google_ServiceResource.php的第95行中取消设置字符串偏移量
如果有人能帮忙,我将不胜感激。
无法提供确切的php代码,但url类似于
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对象:)
我不知道你是否已经弄清楚了——因为已经有一段时间了,但我相信你正在调用一个不存在的函数。我认为应该是:
$data = $youtube->videos->listVideos("snippet");
使用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);
});
});
});