Есть ли способ перечислить частные или незарегистрированные видео для канала? - PullRequest
0 голосов
/ 01 июля 2018

Я хочу перечислить все частные видео для вошедшего в систему пользователя. Для начала я использую этот код из API, чтобы вывести список всех видео с канала пользователя. Единственный способ, который я нашел, чтобы заставить это работать - это выполнить 3 операции, сначала получить список воспроизведения для канала, затем получить видео для загруженного списка воспроизведения канала, затем добавить эти видео в список идентификаторов и, наконец, передать его в к списку videos.list. Очень упрощенная версия:

  • gapi.client.youtube.channels.list {mine: true, part: 'contentDetails'}
  • gapi.client.youtube.playlistItems.list {playlistId: playlistId, part: 'status, snippet'}, где playlistId был найден из предыдущей операции
  • gapi.client.youtube.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, но если он есть, я точно не могу его найти. Есть идеи? Спасибо!

...