2017-05-26 79 views
0

任何人在Google腳本中遇到每分鐘腳本觸發都有問題?Google Script每分鐘觸發器

以下是爲單個視頻提取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); 

} 

回答

-2

這很簡單,你只有有限的時間,所以每分鐘運行它會讓你運行太多。 通過登錄到您的Google帳戶來查看您的每日配額使用情況。

查看詳細信息: https://developers.google.com/apps-script/guides/services/quotas 通過使用Google腳本,您可以使程序根據您的計劃運行。谷歌表示,你不能在一天之內調用超過固定次數的函數。配額鏈接顯示了多少,這也取決於您是使用免費版還是使用免費版。 因此,如果您的腳本運行很長時間或很短的時間,您一定會獲得最大日常運行量。

+0

歡迎您訪問解決方案的鏈接,但請確保您的答案在沒有它的情況下很有用:[在鏈接附近添加上下文](// meta.stackexchange.com/a/8259),以便您的同行用戶瞭解什麼它是,爲什麼它在那裏,然後引用您鏈接到的頁面最相關的部分,以防目標頁面不可用。 [僅僅是一個鏈接的答案可能會被刪除。](// stackoverflow.com/help/deleted-answers) – Bugs