2017-07-25 33 views
1

我有從Pipedrive導入到Google表單的腳​​本,效果很好。我希望它只能從過去20天而不是從特定日期抽取比賽。我也想每次清理這些行,並將它們剔除,而不是將它們添加到下一個空行。腳本從Pipedrive導入到過去20天的Google表單

function GetPipedriveDeals() { 
    var ss = SpreadsheetApp.openById('sheet name'); 
    var sheet = ss.getSheetByName("Sheet1"); 

    var url = "https://api.pipedrive.com/v1/activities?user_id=0&start=0&limit=500&start_date=2017-06-01&api_token=xxxxxxxxxxxxxxxxxxxx"; 

    var response = UrlFetchApp.fetch(url); 
    var dataSet = JSON.parse(response.getContentText()); 
    var data; 

    for (var i = 0; i < dataSet.data.length; i++) { 
    data = dataSet.data[i]; 
    sheet.appendRow([data.user_id, data.type, data.add_time, data.note, data.org_name]); 
    } 
} 

任何幫助將不勝感激,謝謝你提前。

回答

0

您可以使用start_date & end_date參數來提取最近20天的記錄,並使用sheet.clear()清除工作表的內容。請參閱下面的代碼。希望這可以幫助!

function GetPipedriveDeals() { 
     var ss = SpreadsheetApp.openById('sheet name'); 
     var sheet = ss.getSheetByName("Sheet1"); 

     sheet.clear(); //clear the contents of the sheet 

     var startDate = getStartDate(); 
     var endDate = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd"); 
     var url = "https://api.pipedrive.com/v1/activities?user_id=0&start=0&start_date="+startDate+"&end_date="+endDate+"api_token=xxxxxxxxxxxxxxxxxxxx"; 
     var response = UrlFetchApp.fetch(url); 
     var dataSet = JSON.parse(response.getContentText()); 
     var data; 

     for (var i = 0; i < dataSet.data.length; i++) { 
     data = dataSet.data[i]; 
     sheet.appendRow([data.user_id, data.type, data.add_time, data.note, data.org_name]); 
     } 
    } 


    function getStartDate() { 
     var result = new Date(); 
     result.setDate(result.getDate() - 20); 
     return result.convertDate(); 
    } 

    Date.prototype.convertDate = function() { 
     var mm = this.getMonth() + 1; 
     var dd = this.getDate(); 

     return [this.getFullYear(), 
     (mm>9 ? '' : '0') + mm, 
     (dd>9 ? '' : '0') + dd 
     ].join('-'); 
    }; 
+0

@ nick.r.c是否幫助您? – Ritz

+1

是的@Ritz非常感謝你。 –

相關問題