我想列出已登录用户的所有私人视频。首先,我使用API中的this code列出用户频道中的所有视频。我发现要执行此操作的唯一方法是进行3个操作,首先获取频道的播放列表,然后获取频道上传的播放列表的视频,然后将这些视频添加到ID列表中,最后将其传递给到videos.list。非常简化的版本:
我目前用于中间操作的关键代码是:
function requestVideoPlaylist(playlistId,pageToken) {
$('#video-container').html('');
var requestOptions = {
playlistId: playlistId,
part: 'status,snippet',
maxResults: 50
};
var found=false
if (pageToken) {
requestOptions.pageToken = pageToken;
}
var request = gapi.client.youtube.playlistItems.list(requestOptions);
request.execute(function(response) {
// Only show pagination buttons if there is a pagination token for the
// next or previous page of results.
pageToken = response.result.nextPageToken;
var playlistItems = response.result.items;
if (playlistItems) {
$.each(playlistItems, function(index, item) {
if (item.status.privacyStatus=='private') {
ids.push(item.snippet.resourceId.videoId)
//found=true
}
});
if (found) {
//Do stuff
} else {
//Do other stuff
}
}
});
}
似乎应该有一种基于privacyStatus进行过滤的方法,就像您在YouTube Creator Studio中时一样,但是如果有的话,我肯定找不到。有任何想法吗?谢谢!