Google apps script 谷歌脚本每分钟触发

Google apps script 谷歌脚本每分钟触发,google-apps-script,google-sheets,triggers,youtube,Google Apps Script,Google Sheets,Triggers,Youtube,有人对谷歌脚本中的每分钟脚本触发器有问题吗 下面是一个函数,用于为单个视频提取YT数据并写入电子表格,我们在发布视频时运行电子表格一小时 每分钟一次的触发器过去工作正常,现在它停止工作了 如果有人有任何想法,欢迎 function STATSScript() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(

有人对谷歌脚本中的每分钟脚本触发器有问题吗

下面是一个函数,用于为单个视频提取YT数据并写入电子表格,我们在发布视频时运行电子表格一小时

每分钟一次的触发器过去工作正常,现在它停止工作了

如果有人有任何想法,欢迎

function STATSScript() {


  var ss = SpreadsheetApp.getActiveSpreadsheet();
//  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Generator");
  var sheets = ss.getSheets();

//   if (sheets.length > 1) {
//     Logger.log(sheets[0].getName());
 //  Logger.log(sheets[1].getName());
     //Logger.log(sheets[2].getName());
// }

//  var sheet = ss.getSheetByName("Generator"); //or whatever you name your sheet
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Generator");
  var apiKey = 'KEY'; //leave the single quotes
  var vidId = sheet.getRange("c3").getValue(); 
 // Logger.log(ss);

  var url = 'https://www.googleapis.com/youtube/v3/videos?id=' + vidId + '&key=' + apiKey + '&part=snippet,contentDetails,statistics,status'; // replace this with your API client ID
  //take a look at the raw JSON for this request at https://www.googleapis.com/youtube/v3/videos?id=ID=snippet,contentDetails,statistics,status
  var currentTime = new Date();

  var response = UrlFetchApp.fetch(url); // get feed
  var json = response.getContentText(); // 
  var data = JSON.parse(json);
  //  Logger.log(data);
  var stats = [];


    stats.push(data.items[0].snippet.title); //video title

  //    Logger.log(data.items[0].snippet.title);

    stats.push(data.items[0].statistics.viewCount); //view count
    stats.push(data.items[0].statistics.likeCount); //like count
    stats.push(data.items[0].statistics.dislikeCount); //dislike count

    stats.push(data.items[0].statistics.commentCount); //comment count

    stats.push(data.items[0].snippet.publishedAt); //publish date
    stats.push(data.items[0].snippet.channelTitle); //title of the channel or user
    stats.push("https://www.youtube.com/watch?v="+vidId); //link
    stats.push(currentTime); //time script ran

    SpreadsheetApp.getActiveSheet().appendRow(stats)

  Logger.log(stats);
  Logger.log("Row Data Written");

}



// -----------------------------------------------------------------------------
// function to clear data
// -----------------------------------------------------------------------------
function clearData() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Generator');

  sheet.getRange("A2:A3").clearContent();

  // clear out the matches and output sheets
  var lastRow = sheet.getLastRow();
  if (lastRow > 1) {
    sheet.getRange(5,1,lastRow-1,9).clearContent();
  }
    Logger.log("Data Cleared");
}



function archiveSheet () {
//Archive the Sheet
   var sheet = SpreadsheetApp.getActiveSpreadsheet();
   var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = ss.getSheets();
   var lastrow = sheet.getLastRow();
   var range = sheet.getRange('A1:N' + (lastrow) + '');
   var date = new Date();
   var formattedDate = Utilities.formatDate(date, "CST", "MM-dd-yy")
   var titleofvid = ss.getRange("a3").getValue(); 
  var titlefilename = formattedDate+' '+titleofvid;
   sheet.setNamedRange('Archive', range);
   var TestRange = sheet.getRangeByName('Archive').getValues(); 
   Logger.log(TestRange); 
   var destFolder = DriveApp.getFolderById('ID'); 
   DriveApp.getFileById(sheet.getId()).makeCopy(titlefilename, destFolder);   
}

function cloneGoogleSheet() {

  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = source.getSheets()[0];
  var destination = SpreadsheetApp.openById('ID');

 sheet.copyTo(destination);

}

这很简单,你只有有限的时间,所以每分钟跑一次会让你跑得太多。 通过登录您的谷歌帐户查看您的每日配额使用情况

详情请参见此处: 通过使用谷歌脚本,你可以让程序按照你的计划运行

谷歌说,你不能在一天内调用超过固定次数的函数。配额链接告诉你多少,它还取决于你是使用免费版还是付费版。 所以,如果你的脚本运行了很长时间或很短的时间,你一定会通过你的最大每日运行量

通过每分钟运行一次脚本,您还可能导致一个脚本正在运行,并花费一分钟以上的时间,然后启动第二个脚本。根据上面的链接,用户的脚本运行时间为6分钟。您只能同时运行30个脚本,因此肯定会遇到严重问题。。
所以,看看谷歌列出的时间,你应该能够避免问题。或者,例如,您可以使脚本处理一系列要做的事情,然后停止

欢迎链接到某个解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。