Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌应用程序脚本-从YouTube API传输数据_Javascript_Google Apps Script_Google Sheets_Google Api_Youtube Api - Fatal编程技术网

Javascript 谷歌应用程序脚本-从YouTube API传输数据

Javascript 谷歌应用程序脚本-从YouTube API传输数据,javascript,google-apps-script,google-sheets,google-api,youtube-api,Javascript,Google Apps Script,Google Sheets,Google Api,Youtube Api,提前道歉-我是使用谷歌应用程序脚本的完全初学者 我有一个关于如何将数据从YouTube API调用传输到Google工作表的问题。我已经设置了下面的代码,它从频道ID和循环中搜索视频(以获得超过50个结果限制) 我想把脚本中定义的四个变量拉回到一个谷歌表中——发布在、标题、ID和URL,即频道中所有7000多个视频的这四个元素的信息。所有这些信息似乎都使用Logger.log行成功记录 我现在想把记录在谷歌工作表上的信息传送出去。我尝试过不同的方法,但我只成功地收回了最后一段视频的细节 有人能建

提前道歉-我是使用谷歌应用程序脚本的完全初学者

我有一个关于如何将数据从YouTube API调用传输到Google工作表的问题。我已经设置了下面的代码,它从频道ID和循环中搜索视频(以获得超过50个结果限制)

我想把脚本中定义的四个变量拉回到一个谷歌表中——发布在、标题、ID和URL,即频道中所有7000多个视频的这四个元素的信息。所有这些信息似乎都使用Logger.log行成功记录

我现在想把记录在谷歌工作表上的信息传送出去。我尝试过不同的方法,但我只成功地收回了最后一段视频的细节

有人能建议我需要在“var-ActiveSheet”行之后的最后一节中添加哪些代码才能成功完成这项工作吗

正如我所说,如果这是一个愚蠢的问题,我道歉

function myFunction() {

var nextPageToken = '';

while (nextPageToken != null) {
  var sr = YouTube.Search.list("snippet", {
    channelId:'UC14UlmYlSNiQCBe9Eookf_A', 
    maxResults: 50,
    pageToken: nextPageToken
  });

    for (var j = 0; j < sr.items.length; j++) {
    var srItem = sr.items[j];
    var PublishedAt = srItem.snippet.publishedAt;
    var Title = srItem.snippet.title;
    var ID = srItem.id.videoId;
    var URL = srItem.snippet.thumbnails.high.url;
      Logger.log('[%s] Title: %s Id: %s Url: %s',
               srItem.snippet.publishedAt,
               srItem.snippet.title,
               srItem.id.videoId,
               srItem.snippet.thumbnails.high.url);
  }
  nextPageToken = sr.nextPageToken;
}

var ss = SpreadsheetApp.getActiveSpreadsheet();
var activeSheet = ss.getActiveSheet();

}
函数myFunction(){
var nextPageToken='';
while(nextPageToken!=null){
var sr=YouTube.Search.list(“代码片段”{
通道ID:'UC14UlmYlSNiQCBe9Eookf_A',
最大结果:50,
pageToken:nextPageToken
});
对于(var j=0;j
任何帮助都将不胜感激

谢谢


KC

您需要捕获每一行,然后保存到一个数组中。然后可以将行插入到图纸中。下面的代码就是这样做的

function myFunction() {
  var nextPageToken = '';

  // to hold data rows
  var results = [];
  // add header row
  results.push(['Published At', 'Title', 'ID', 'URL']);

  while (nextPageToken != null) {
    var sr = YouTube.Search.list('snippet', {
      channelId: 'UC14UlmYlSNiQCBe9Eookf_A',
      maxResults: 50,
      pageToken: nextPageToken
    });

    for (var j = 0; j < sr.items.length; j++) {
      var srItem = sr.items[j];
      var PublishedAt = srItem.snippet.publishedAt;
      var Title = srItem.snippet.title;
      var ID = srItem.id.videoId;
      var URL = srItem.snippet.thumbnails.high.url;
      // add every row
      results.push([PublishedAt, Title, ID, URL]);
    }
    nextPageToken = sr.nextPageToken;
  }

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  // get range and set values
  // row to start, col to start, how many rows, how many cols
  sheet.getRange(1, 1, results.length, 4).setValues(results);
}
函数myFunction(){
var nextPageToken='';
//保存数据行的步骤
var结果=[];
//添加标题行
push(['Published At','Title','ID','URL']);
while(nextPageToken!=null){
var sr=YouTube.Search.list('snippet'{
channelId:'UC14UlmYlSNiQCBe9Eookf_A',
最大结果:50,
pageToken:nextPageToken
});
对于(var j=0;j