2016-07-07 6 views
0

Also alles, was ich bekam die Karten aus allen Listen, innen alle meine Bretter:Trello API - verbinden Karten mit Brettern Board-Namen zu erhalten, basierend auf dem Brett ID

var url3 = "https://api.trello.com/1/lists/"+listId+"/cards?key="+key+"&token="+token; 

Jetzt muss ich mit der irgendwie verbinden Boards Liste und erhalten Sie den Namen jeder Karte, basierend auf den Board-IDs, und ich weiß nicht wie ...

Dies ist meine gesamte Funktion, versuchen, alle Karten mit einem Fälligkeitsdatum zu bekommen, aber ich möchte auch den Namen der Karte erhalten, in der sich jede Karte befindet ...

function getDues(listId){ 
    var xmlhttp3 = new XMLHttpRequest(); 
    var url3 = "https://api.trello.com/1/lists/"+listId+"/cards?key="+key+"&token="+token; 
    xmlhttp3.onreadystatechange = function() { 
     if(xmlhttp3.readyState == 4 && xmlhttp3.status == 200) { 
      var arrCards = JSON.parse(xmlhttp3.responseText); 
      var dueName = ""; 
      var dueDate = ""; 
      var board = ""; 
      for(c = 0; c < arrCards.length; c++){ 
       if(arrCards[c].due !== null){ 
        var dueName = arrCards[c].name; 
        var dueDate = arrCards[c].due; 
        var boardNo = arrCards[c].idBoard; 
        var date = new Date(dueDate); 
        var deadline = ""; 
        var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 
        var now = new Date(); 
        var result = "https://api.trello.com/1/organizations/"+orgId+"/boards?key="+key+"&token="+token; 
        for (card in arrCards) { 
         if (!arrCards.hasOwnProperty(card)) { continue; } 
         var name = result.name; 
         card.boardName = name 
         console.log(card.boardName); 
        } 
       } 
      } 
     } 
    } 
    xmlhttp3.open("GET", url3, true); 
    xmlhttp3.send(); 
} 

Alles, was ich für Board-Namen bekomme, ist "undefined".

aktualisieren

die Art und Weise geändert ich die Karten bekam, und wie das funktioniert es:

function getDues(boardId) { 
    var xmlhttp3 = new XMLHttpRequest(); 
    var url3 = "https://api.trello.com/1/boards/"+boardId+"/cards?key="+key+"&token="+token; 
    xmlhttp3.onreadystatechange = function() { 
    if (xmlhttp3.readyState === 4 && xmlhttp3.status === 200) { 
     var arrCards = JSON.parse(xmlhttp3.responseText); 
     var dueName = ""; 
     var dueDate = ""; 
     var board = ""; 
     for (var c = 0; c < arrCards.length; c++) { 
     if (arrCards[c].due !== null) { 
      var dueName = arrCards[c].name; // due card name 
      var dueDate = arrCards[c].due; // due date 
      var boardNo = arrCards[c].idBoard; // board id 
      var date = new Date(dueDate); 
      var deadline = ""; 
      var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 
      var now = new Date(); 

      var xmlhttpBoardName = new XMLHttpRequest(); 
      var boardNameUrl = "https://api.trello.com/1/boards/" + boardNo + "/?key=" + key + "&token=" + token; 

      xmlhttpBoardName.onreadystatechange = function() { 
      if (xmlhttpBoardName.readyState === 4 && xmlhttpBoardName.status === 200) { 
       var board = JSON.parse(xmlhttpBoardName.responseText); 
       var boardName = board.name; // board name 
      } 
      } 

      xmlhttpBoardName.open("GET", boardNameUrl, true); 
      xmlhttpBoardName.send(); 
     } 
     } 
    } 
    } 

    xmlhttp3.open("GET", url3, true); 
    xmlhttp3.send(); 
} 

Antwort

1

Basing auf Ihren Code, so etwas wie das funktionieren sollte:

function getDues(listId) { 
    var xmlhttp3 = new XMLHttpRequest(); 
    var url3 = "https://api.trello.com/1/lists/"+listId+"/cards?key="+key+"&token="+token; 
    xmlhttp3.onreadystatechange = function() { 
    if (xmlhttp3.readyState === 4 && xmlhttp3.status === 200) { 
     var arrCards = JSON.parse(xmlhttp3.responseText); 
     var dueName = ""; 
     var dueDate = ""; 
     var board = ""; 
     for (var c = 0; c < arrCards.length; c++) { 
     if (arrCards[c].due !== null) { 
      var dueName = arrCards[c].name; 
      var dueDate = arrCards[c].due; 
      var boardNo = arrCards[c].idBoard; 
      var date = new Date(dueDate); 
      var deadline = ""; 
      var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; 
      var now = new Date(); 

      var xmlhttpBoardName = new XMLHttpRequest(); 
      var boardNameUrl = "https://api.trello.com/1/boards/" + boardNo + "/?key=" + key + "&token=" + token; 

      xmlhttpBoardName.onreadystatechange = function() { 
      if (xmlhttpBoardName.readyState === 4 && xmlhttpBoardName.status === 200) { 
       var board = JSON.parse(xmlhttpBoardName.responseText); 
       var boardName = board.name; // HERE YOU HAVE YOUR BOARD NAME 
       console.log(boardName); 
      } 
      } 

      xmlhttpBoardName.open("GET", boardNameUrl, true); 
      xmlhttpBoardName.send(); 
     } 
     } 
    } 
    } 

    xmlhttp3.open("GET", url3, true); 
    xmlhttp3.send(); 
} 

Wie auch immer, ich schlage vor, Sie verwenden die official library, Sie müssen sich nicht um alle HTTP-Anfragen kümmern.

+0

den Weg zu ändern, Karten von Listen zu Boards zu bekommen, funktioniert gut. Vielen Dank! – jimmyLi

Verwandte Themen