gooleFormで回答した結果(食べたいものアンケートを作っています)をchatworkに通知したいです。
ログ出力でchatwork_doSendまで値が渡されていることはわかっています。
(トリガーはchatwork_doSendです)
(formの権限は承認しています。)
chatwork
1var CHATWORK_APIKEY = "hoge"; 2var CHATWORK_APIURL = "hoge"; 3var CHATWORK_ROOM_ID = hoge; 4 5function chatwork_doSend(title, body, roomId) { 6 FormApp.getActiveForm(); 7 var text = Format.chatworkText(title, body); 8 Chatwork.messageToRoom(roomId, text); 9} 10 11var Format = { 12 chatworkText: function(title, body) { 13 var text = ""; 14 text += "[info][title]" + title + "[/title]" + body + "[/info]"; 15 return text; 16 } 17 } 18 19var Chatwork = { 20 post: function(apiPath, payload){ 21 var url = CHATWORK_APIURL + apiPath; 22 var options = { 23 headers: { 24 "X-ChatWorkToken": CHATWORK_APIKEY 25 }, 26 'method': 'POST', 27 'payload': payload 28 } 29 try { 30 var response = UrlFetchApp.fetch(url, options); 31 return JSON.parse(response); 32 } catch(error) { 33 Logger.log(error); 34 return; 35 } 36 }, 37 messageToRoom: function(roomId, message) { 38 var apiPath = "/rooms/" + roomId + "/messages"; 39 var payload = { 40 body: message 41 } 42 this.post(apiPath, payload); 43 } 44}
1var googleForm = { 2 getName: function(e) { 3 var value = e.namedValues["名前"][0]; 4 return value; 5 }, 6 getDate: function(e) { 7 var value = e.namedValues["日付"][0]; 8 return value; 9 }, 10 getEat: function(e) { 11 var value = e.namedValues["食べたいもの"][0]; 12 return value; 13 } 14}
notification
1function notification_formToChatwork(e) { 2 notification.apply(e); 3} 4var notification = { 5 apply: function(e) { 6 var title = "食べたいものは何ですか!"; 7 var body = notification.createResult(e); 8 var roomId = CHATWORK_ROOM_ID; 9 chatwork_doSend(title, body, roomId); 10 }, 11 createResult: function(e) { 12 var result = ""; 13 var name = googleForm.getName(e); 14 var date = googleForm.getDate(e); 15 var eat = googleForm.getEat(e); 16 result += "【名前】\n"; 17 result += name + "\n"; 18 result += "\n"; 19 result += "【日付】\n"; 20 result += date + "\n"; 21 result += "\n"; 22 result += "【食べたいもの】\n"; 23 result += eat + "\n"; 24 result += "\n"; 25 return result; 26 } 27}
なぜ、通知が行かないのかわかりません。わかる方いらっしゃいましたら、ご回答お願いします。
回答1件
あなたの回答
tips
プレビュー