質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Trello

Trelloは、無料のタスク管理ツール。タスクを1枚のカードとし、各進捗エリアごとで管理することができます。個人の利用や、複数人での共同作業を直感的且つ容易に行うことが可能です。PCはWebブラウザで、スマホはiPhoneとAndroidでそれぞれアプリが提供されています。

Q&A

0回答

814閲覧

GAS SpreadSheetとTrelloの連携エラー

YuskyOs

総合スコア6

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Trello

Trelloは、無料のタスク管理ツール。タスクを1枚のカードとし、各進捗エリアごとで管理することができます。個人の利用や、複数人での共同作業を直感的且つ容易に行うことが可能です。PCはWebブラウザで、スマホはiPhoneとAndroidでそれぞれアプリが提供されています。

0グッド

1クリップ

投稿2020/04/01 15:46

編集2020/04/04 08:35

前提・実現したいこと

Googleスプレッドシートに作成した情報を選択し、スプレットシートに使いしたメニューを操作して、
Trelloにカード作成ができるようにしたいです。

スプレッドシートのメニューからaddTrellocardを実行するとGAS上では問題ないのですが、
Trelloにカードは追加されません。

発生している問題・エラーメッセージ

エラーメッセージは表示されないが、trelloにはカードが追加されない

該当のソースコード

Google

1// ユーザー名 2// URLにも使用されている 3var user_name = '********'; 4 5// APIキーとトークン 6// https://trello.com/app-key 7// 上記にアクセスしてKeyとTokenを取得する。※Tokenは『generate a Token.』から作成する。 8var api_key = '********'; 9var api_token = '********'; 10 11// ボードID 12// getBoardsを実行して取得する 13var board_id = '********'; 14 15// リストID 16// getListsを実行して取得する 17var list_id = '********'; 18 19// カード名の列番号 20var listid_column_no = 3; 21// カード名の列番号 22var title_column_no = 4; 23// カード詳細説明の列番号 24var description_column_no = 5; 25// 〆切の列番号 26var due_column_no = 6; 27// ラベルの列番号 28var labelid_column_no = 8; 29// ラベルの列番号 30var memberid_column_no = 10; 31 32function getBoards() { 33 var url = 'https://api.trello.com/1/members/' + user_name + '/boards?key=' + api_key + '&token=' + api_token + '&fields=name'; 34 Logger.log(UrlFetchApp.fetch(url, {'method':'get'})); 35} 36 37function getlists() { 38 var url = "https://trello.com/1/boards/" + board_id + "/lists?key=" + api_key + "&token=" + api_token + "&fields=name"; 39 Logger.log(UrlFetchApp.fetch(url, {'method':'get'})); 40} 41 42function getLabels() { 43 var url = "https://trello.com/1/boards/" + board_id + "/labels?key=" + api_key + "&token=" + api_token + "&fields=name"; 44 Logger.log(UrlFetchApp.fetch(url, {'method':'get'})); 45} 46 47function getMembers() { 48 var url = "https://trello.com/1/boards/" + board_id + "/members?key=" + api_key + "&token=" + api_token; 49 var response = UrlFetchApp.fetch(url); 50 var json = JSON.parse(response.getContentText()); 51 Logger.log(json); 52} 53 54function addTrelloCard() { 55 56 // 選択しているセルの開始行番号を取得 57 var ss = SpreadsheetApp.getActiveSpreadsheet(); 58 var sheet = ss.getActiveSheet(); 59 var upper_left_cell = sheet.getActiveCell(); 60 var start_row = upper_left_cell.getRow(); 61 62 // 選択しているセルの行数を取得 63 var range = SpreadsheetApp.getActiveRange(); 64 var rows = range.getNumRows(); 65 66 // 確認ダイアログ 67 var message = ''; 68 var start_card_title = sheet.getRange(start_row, title_column_no).getValue(); 69 message += start_card_title; 70 if (rows > 1) { 71 message += ' など' + rows + '枚'; 72 } 73 var result = Browser.msgBox('カードを作成します。よろしいですか?', message, Browser.Buttons.OK_CANCEL); 74 75 if (result == 'cancel') { 76 return; 77 } 78 79 // カード作成 80 for (var i = 0; i < rows; i++) { 81 var row = start_row + i; 82 var card_list = sheet.getRange(row, listid_column_no).getValue(); 83 var card_title = sheet.getRange(row, title_column_no).getValue(); 84 var card_description = sheet.getRange(row, description_column_no).getValue(); 85 var card_label = sheet.getRange(row, labelid_column_no).getValue(); 86 var card_due = sheet.getRange(row, due_column_no).getValue(); 87 var card_member = sheet.getRange(row, memberid_column_no).getValue(); 88 89 var url = 'https://api.trello.com/1/cards/?key=' + api_key + '&token=' + api_token; 90 var options = { 91 'method' : 'post', 92 'muteHttpExceptions' : true, 93 'payload' : { 94 'name' : card_title, 95 'desc' : card_description, 96 'due' : card_due, 97 'idList' : card_list, 98 'idLabels' : card_label, 99 'idMembers' : card_member, 100 'urlSource' : '' 101 } 102 } 103 var response = UrlFetchApp.fetch(url, options); 104 // 作成したカードのURLをセルに出力したい場合は下記コメントアウトはずしてよしなに。 105 // var response_data = JSON.parse(response.getContentText()); 106 // sheet.getRange(row, 3).setValue(response_data['shortUrl']); 107 } 108} 109 110function onOpen() { 111 // メニューバーにカスタムメニューを追加 112 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 113 var entries = [ 114 {name : "addTrelloCard" , functionName : "addTrelloCard"}, 115 ]; 116 spreadsheet.addMenu("GAS", entries); 117}

試したこと

Spreadsheetの画面からも、script editorの画面からも幾度かtryし、
いずれも実行は"completed"となっているのですが、trello上では何も変化がありません。

エラーの箇所がつかめておらず大変不明瞭な質問になりますが、何卒宜しくお願い致します。

追記

Automate.ioでも試行してみたところ、
イメージ説明
下記のようにsample dataを入力する部分では正常に実行されるのですが、
イメージ説明
Spreadsheetの読み取りとなると下記のようにエラーが起こります。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2020/04/02 13:02

addtrelloの最後にあるresponseをlogger.logして表示される内容を追記してください
YuskyOs

2020/04/02 13:31

ご対応頂きありがとうございます。 could not find the board that the card belongs to という記載になっておりました。
papinianus

2020/04/03 05:05

それだと、idList が間違っているか何かでボードが見付けられてないので、コードではなくデータ検証が必要だと思います。 このコードを何かを参考に作ったのなら、そちらに何らか注意があるかもしれないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問