これはすごくシンプルだと確信していますが、今は1週間はオンとオフを交互にしています。 Trelloカードの詳細をグーグルシートに集めています。最後のアクティビティから一定の日数を超えた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);
を使用してTrelloのカードと関連フィールドを取得することができるよ、その後、リターンを解析する
//parse JSON
var dataSet = JSON.parse(get);
1つのカードのメンバー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はすべてのカードでまとめていますが、スプレッドシートに渡されるときに最初のメンバーだけがトリップします。私はメンバーID
for(j = 0; j < data.idMembers.length; j++) {
を区切るために再度配列をループしようとしましたが、それが役立っていないと私はそれも右のラインに沿ってだか分からない
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);
以下 コードソリューションに。私はコードの問題ではなく、Googleシートのカンマ区切り値の処理ではないと確信しています。
スプレッドシートでは、それぞれに1つのメンバーIDを持つ繰り返しのカードを取得するかどうかは気にしません。各メンバーIDまたはすべてのメンバーIDを1つのセルにまとめて追加するだけです私のリストを詰まらせている放棄されたカードを扱うためにそれらを煩わすことができるように、すべてのメンバーIDが欲しい。
任意およびすべての提案は感謝
とてもシンプルな、よかった! – Liam