列出我所有带有Apps脚本的youtube视频

时间:2018-07-06 06:14:24

标签: javascript google-apps-script google-sheets google-api youtube-api

我在将电子表格中列出自己的youtube视频列表时遇到一些问题。 “ maxResults”值的最大值仅为50。因此,我列出的视频不能超过50个! 如何获取我所有的youtube视频?

function searchListMine(part, params, pageToken) {
  params = removeEmptyParams(params); // See full sample for function
  var response = YouTube.Search.list(part, params);
  var title = "";
  var id = "";
  var lr = 0;
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var nextPageToken = 'nextPageToken';
  var sheet1 = ss.getSheetByName("시트2");

  Logger.log(response.items.length)
  for (var i = 0; i < response.items.length; i++) {
      var item = response.items[i];
      title = item.snippet.title;
      id = item.id.videoId;
      lr = sheet1.getLastRow() + 1;
      sheet1.getRange(lr, 1).setValue(title);
      sheet1.getRange(lr, 2).setValue(id);
      lr++;
    }

}

function Main() {
  searchListMine('snippet', {'maxResults': '50',
                             'forMine': 'true',
                             'type': 'video',
                            });
}

1 个答案:

答案 0 :(得分:0)

  

nextPageToken字符串

     

可以用作pageToken参数值的令牌,以检索结果集中的下一页。

nextPageToken是api返回给您的响应的一部分。您需要使用PageToken参数将其添加到请求的parms部分。

大概是这样的。

var optionalArgs = {forMine:'true', type: 'video', maxResults: 50,  pageToken: pageToken}  
  

pageToken字符串

     

pageToken参数标识结果集中应返回的特定页面。在API响应中,nextPageToken和prevPageToken属性标识可以检索的其他页面。

然后循环您的请求,直到nextpagetoken返回null。