2016-03-08 104 views
1

我使用Google脚本将有关Trello卡片的信息导入Google表格。它对我来说工作得很好,但是今天突然所有的卡片都为每一条数据拉入'Undefined'。但我无法弄清楚为什么这个突然停止工作。Google脚本可将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]); 

    }          
    } 
} 

回答

1

一年后,然后我意识到创建此代码时,Trello阿比不以同样的方式回应。所以我解决它...
这里是代码为我工作

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

    }          
    } 
} 
相关问题