Google apps script 将Trello数据导入Google工作表的Google脚本

Google apps script 将Trello数据导入Google工作表的Google脚本,google-apps-script,trello,Google Apps Script,Trello,我正在使用谷歌脚本将有关Trello卡的信息拉到谷歌表单中。这对我来说很好,但今天突然,所有的卡片都在为每一条数据“未定义”。但我不明白为什么这突然停止了工作 Google脚本如下所示: function onOpen() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var menuEntries = [ {name: "Update from Trello", functionName: "main"}]; ss.addMen

我正在使用谷歌脚本将有关Trello卡的信息拉到谷歌表单中。这对我来说很好,但今天突然,所有的卡片都在为每一条数据“未定义”。但我不明白为什么这突然停止了工作

Google脚本如下所示:

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "Update from Trello", functionName: "main"}];
  ss.addMenu("Trello", menuEntries);
}

// trello variables
var api_key = "XXXXX";
var api_token = "XXXXX";
var board_id = "XXXXX";
var url = "https://api.trello.com/1/";


var key_and_token = "key=" + api_key + "&token=" + api_token;


//called by google docs apps
function main() {
  var ss = SpreadsheetApp.getActiveSheet().clear();
  ss.appendRow(["Date", "Task", "Who", "List", "Link"]);
  var response = UrlFetchApp.fetch(url + "boards/" + board_id + "/lists/all/?" + key_and_token);
  var lists = JSON.parse((response.getContentText()));
  Logger.log(lists);

  for (var i = 0; i < lists.length; i++) {
    var list = lists[i];

    var response = UrlFetchApp.fetch(url + "list/" + list.id + "/cards/all?" + key_and_token);
    var cards = JSON.parse(response.getContentText());
    if (!cards)
      continue;

    for (var j = 0; j < cards.length; j++) {
      var card = cards[j];
      Logger.log(cards);
      var response = UrlFetchApp.fetch(url + "cards/" + card.id + "/actions/?" + key_and_token);
      var carddetails = JSON.parse(response.getContentText());
      if (!carddetails)
        continue;
      Logger.log(carddetails);

      for (var k = 0; k < carddetails.length; k++) {        
        var dato = carddetails[k].date;
        var fullname = carddetails[k].memberCreator.fullName;
        var name = card.name;
        var link = card.url;
        var listname = list.name;

        Logger.log(name);
        Logger.log(dato);
        Logger.log(fullname);
        Logger.log(link);
        Logger.log(listname);
      }
      ss.appendRow([dato, name, fullname, listname, link]);     
    }                                       
  }
}
函数onOpen(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var menuEntries=[{name:“从Trello更新”,functionName:“main”}]; ss.addMenu(“Trello”,菜单); } //特雷罗变量 var api_key=“XXXXX”; var api_token=“XXXXX”; var board_id=“XXXXX”; 变量url=”https://api.trello.com/1/"; var key_和_-token=“key=“+api_-key+”&token=“+api_-token; //由谷歌文档应用程序调用 函数main(){ var ss=SpreadsheetApp.getActiveSheet().clear(); 附加行([“日期”、“任务”、“谁”、“列表”、“链接]); var response=UrlFetchApp.fetch(url+“boards/”+board\u id+“/列表/all/?”+键和令牌); var list=JSON.parse((response.getContentText()); Logger.log(列表); 对于(变量i=0;i在那个问题出现一年后,我正在搜索这段代码,然后我意识到Trello Api在创建这段代码时没有以同样的方式响应。所以我把它修好了…
这是对我有用的代码

function onOpen() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var menuEntries = [ {name: "Update from Trello", functionName: "main"},];
  ss.addMenu("Trello", menuEntries);

}

// trello variables
var api_key = "XXXXX";
var api_token = "XXXXX";
var board_id = "XXXXX";
var url = "https://api.trello.com/1/";


var key_and_token = "key="+api_key+"&token="+api_token;


//called by google docs apps
function main() {
  var ss = SpreadsheetApp.getActiveSheet().clear();
  ss.appendRow(["Date", "Task", "Who", "List", "Link"]);
  var response = UrlFetchApp.fetch(url + "boards/" + board_id + "/lists?cards=all&" + key_and_token);
  var lists = JSON.parse((response.getContentText()));
  Logger.log(lists);

  for (var i=0; i < lists.length; i++) {
    var list = lists[i];
    //if(!list.closed) continue; //ignore open
    //Logger.log(list);

      var response = UrlFetchApp.fetch(url + "list/" + list.id + "/cards?" + key_and_token);
      var cards = JSON.parse(response.getContentText());
      if(!cards) continue;



    for (var j=0; j < cards.length; j++) {
      var card = cards[j];
      Logger.log(url + "cards/" + card.id + "/actions?" + key_and_token);
      var response = UrlFetchApp.fetch(url + "cards/" + card.id + "/?actions=all&" + key_and_token);
      var carddetails = JSON.parse(response.getContentText()).actions;
      if(!carddetails) continue;
      Logger.log(carddetails);

    for (var k=0; k < carddetails.length; k++) {

      var dato = carddetails[k].date;
      var fullname = carddetails[k].memberCreator.fullName;
      var name = card.name;
      var link = card.url;
      var listname = list.name;

      //var labelname = carddetails[k].labeldetails.name;

      Logger.log(name);
      Logger.log(dato);
      Logger.log(fullname);
      Logger.log(link);
      //Logger.log(labelname);
      Logger.log(listname);
    }
      ss.appendRow([dato, name, fullname, listname, link]);

   }                                      
  }
}
函数onOpen(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var menuEntries=[{name:“从Trello更新”,functionName:“main”},]; ss.addMenu(“Trello”,菜单); } //特雷罗变量 var api_key=“XXXXX”; var api_token=“XXXXX”; var board_id=“XXXXX”; 变量url=”https://api.trello.com/1/"; var key_和_-token=“key=“+api_-key+”&token=“+api_-token; //由谷歌文档应用程序调用 函数main(){ var ss=SpreadsheetApp.getActiveSheet().clear(); 附加行([“日期”、“任务”、“谁”、“列表”、“链接]); var response=UrlFetchApp.fetch(url+“boards/”+board_id+“/列表?卡片=所有&“+密钥和令牌); var list=JSON.parse((response.getContentText()); Logger.log(列表); 对于(变量i=0;i太棒了!我一直在寻找一种方法来获取一些其他卡片的详细信息,如到期日、标签等。谢谢!