2

我確定這是非常簡單的,但我一直抨擊我的頭反對它一個星期,並且一無所獲。 我將Trello卡的詳細信息放入Google表格中,最終目的是發送電子郵件給自上次活動後超過特定天數的給定列表中的任意Trello卡的成員。將Trello卡會員拉入Google表格

我可以在使用

//get all cards from board 
var url = "https://api.trello.com/1/boards/<board id>/cards?filter=open&fields=name,idList,url,dateLastActivity,idMembers,idLabels&key=<key>&token=<token>"; 

var get = UrlFetchApp.fetch(url); 

,然後解析返回

//parse JSON 
var dataSet = JSON.parse(get); 

我遇到的問題,以獲得卡和Trello相關領域的是,那裏有超過一張卡片的一個成員ID在這樣的子陣列內作爲逗號分隔列表返回

{idMembers=[member_id, member_id, member_id], idLabels=[label_id], name=card_name, dateLastActivity=date, id=card_id, idList=list_id, url=https://trello.com/c/XXxxxXXxx/blahblahblahblahblahblah} 

通過解析的JSON循環並將輸出推送到一個新數組,所有成員ID仍然都是每個卡在一起的,但是當它們傳遞到電子表格時,只有第一個成員正在進行旅行。 代碼如下

for (i = 0; i < dataSet.length; i++) { 
data = dataSet[i]; 

rows.push([data.id, 
      data.name, 
      data.idList, 
      data.dateLastActivity, 
      data.idMembers, 
      data.idLabels, 
      data.url,    
      ]); 
} 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheetByName("SheetName"); 
var last_row = sheet.getLastRow(); 
var last_column = sheet.getLastColumn(); 
sheet.getRange(2,1,last_row,last_column).clear(); 
dataRange = sheet.getRange(2, 1, rows.length, 7); 
dataRange.setValues(rows); 

我試圖通過數組再次循環到獨立出來的會員ID

for(j = 0; j < data.idMembers.length; j++) { 

但是這並沒有幫助,我不知道它甚至沿着正確的線到一個解決方案。我甚至不確定問題在代碼中,而不是Google表單處理逗號分隔值。

在電子表格中,我並不十分在乎(目前)我是否重複使用單個成員ID的卡片,每個成員ID的附加列或單個單元格中的所有成員ID想要所有的會員編號,這樣我就可以讓他們處理他們遺留的卡片,堵塞我的名單。

任何及所有建議感激地接受

回答

2

試試這個代碼,使用join

rows.push([data.id, 
      data.name, 
      data.idList, 
      data.dateLastActivity, 
      data.idMembers.join(), 
      data.idLabels, 
      data.url,    
      ]); 

爲我工作,爲會員提供的列表中,由逗號devided: 5467844a ......,52cd1e6d27。 ..,55bf2a090 ...

+0

太簡單了,謝謝! – Liam