有没有办法列出某个频道的私人或不公开视频?

时间:2018-07-01 18:03:56

标签: javascript youtube-data-api

我想列出已登录用户的所有私人视频。首先,我使用API​​中的this code列出用户频道中的所有视频。我发现要执行此操作的唯一方法是进行3个操作,首先获取频道的播放列表,然后获取频道上传的播放列表的视频,然后将这些视频添加到ID列表中,最后将其传递给到videos.list。非常简化的版本:

  • gapi.client.youtube.channels.list {mine:true,部分:'contentDetails'}
  • gapi.client.youtube.playlistItems.list {playlistId:playlistId,部分:'status,snippet'},在上一个操作中找到了playlistId
  • gapi.client.youtube.videos.list:从上一个列表中找到的私有(或不公开)ID

我目前用于中间操作的关键代码是:

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中时一样,但是如果有的话,我肯定找不到。有任何想法吗?谢谢!

0 个答案:

没有答案