过去 20 天从 Pipedrive 导入 google 工作表的脚本

Script to import from Pipedrive to google sheets for last 20 days

我有这个用于从 Pipedrive 导入到 Google 工作表的脚本,效果很好。我希望它只提取最近 20 天的匹配项,而不是特定日期的匹配项。我还想每次都清除行并重新整理它们,而不是将它们添加到下一个空行。

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]);
  }
}

任何帮助将不胜感激,提前致谢。

您可以使用 start_date 和 end_date 参数获取最近 20 天的记录,并使用 sheet.clear() 清除 sheet 的内容。参考下面的代码。希望这对您有所帮助!

   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('-');
    };