gas
1//A3RtのapiトークンdoPost 2function getConf() { 3 return { 4 apikey: 'Apiきー' 5 } 6} 7 8 9function doPost(e) { 10 const trial = "げんき"; 11 var slack = e ? e.parameter.token : trial ;//slackからの内容 12 var ss = SpreadsheetApp.getActiveSpreadsheet();//スプレッドシートを取得 13var sheet = ss.getSheetByName("シート1");//シート名でシートを取得 14 15sheet.getRange(1,1).setValue(slack);//シートのA1セルにメッセージのテキストを取得 16 17 var conf = getConf(); 18 var formData = { 19 apikey: conf.apikey, 20 query: slack 21 } 22 23 var options = { 24 'method' : 'post', 25 'payload' : formData 26 } 27 28 var result = UrlFetchApp.fetch("https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", options) 29 var jsonData = JSON.parse(result.getContentText()); 30 31 return jsonData; 32 33 34} 35 36 37function postSlack(){ 38 39 var message = doPost.jsonData; 40Logger.log(message); //messageの内容が受け取れていない 41 Logger.log(message.results[0]['reply']); 42 43 var message1 = message.results[0]['reply']; 44 const url = "webhookのURL"; 45 var payload ={ 46 "text": message1, 47 "username":"testだよ", 48 "icon_emoji":":icon_イメージ:" 49 } 50 const options = { 51 "method" : "POST", 52 'contentType': 'application/json', 53 "payload" : JSON.stringify(payload) 54 }; 55 UrlFetchApp.fetch(url, options); 56} 57 58 59 60
わからないこと
doPostの内容をpostSlackに渡したい。
現時点
実行関数をpostSlackにすると、gas側からの実行だと実行できるが、
それで、実行しているとslack側のpost内容を受け取れないため、実行関数をdoPostに変更した。変更するとdoPostの引数eがうまくpostSlackにわたせていないため、送信エラーになる。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。