前提・実現したいこと
trelloにあるボードから、その中に入っているリストとその中のカードの情報を取得したいです。ボードからリスト、カード情報をjson形式で取得することはできました。しかし、そのなかから必要な情報をカードの数だけfor分を回して抜き出して整形しようとするとできない。for分に入れずにカードごとに内容を取得しようとするとできる。この違いはどこにあるのか教えていただきたいです。
発生している問題・エラーメッセージ
for分が2周目以降に入ると発生しているようです。しかし、for分にいれずに2週目以降の要素を指定するとエラーが起きずに走らせることができています。どのように直したら良いのでしょうか。
TypeError: Cannot read property "name" from null.
該当のソースコード
1function getBoard() { 2 var trelloKey = "XXXXXXXXX";//keyを入力してください 3 var trelloToken = "XXXXXXXXX";//tokenを入力してください 4 var userName = "kodanosuke";//user nameを入力してください 5 var boardID = 'XXXXXXXXXXXX' 6 7 //リストのIDと名前の一覧を取得 8 var url = 'https://trello.com/1/boards/' + boardID + '/lists?key=' + trelloKey + '&token=' + trelloToken 9 var res = UrlFetchApp.fetch(url, {'method':'get'}); 10 var list = JSON.parse(res.getContentText()); //jsonとして保存 11 12 var listNum = list.length; 13 14 //リストIDからカード一覧を取得する 15 var cards = []; 16 17 for(var j = 0;j < listNum;j++){ 18 var url = "https://trello.com/1/lists/" + list[j]['id'] + "/cards?key=" + trelloKey + "&token=" + trelloToken; 19 var res = UrlFetchApp.fetch(url, {'method':'get'}); 20 var card = JSON.parse(res.getContentText()); 21 var cardNum = card.length 22 23 //必要なデータのKeyを指定して値を取得する 24 for(var i = 0;i < cardNum;i++){ 25 var name = card[i]['name']; 26 var due = card[i]['due']; 27 var idMembers = card[i]['idMembers']; 28 var dateLastActivity = card[i]['dateLastActivity']; 29 var shortUrl = card[i]['shortUrl']; 30 31 //取得したここのデータをまとめて、ひとつのカード情報としてまとめる 32 var card = [name, due, idMembers, dateLastActivity, shortUrl]; 33 cards.push(card) 34 35 } 36 Logger.log(card) 37 } 38 39 // var id =[]; 40 //id.push(json[1]['name']) 41 //Logger.log(id); 42 43 44}
試したこと
for文に入れずに1回毎に処理を行わせる
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。