GAS上でオウム返しのLINEBotをネット上のソースコードを元に作りました。
コード内のdoPost(e)の中身が気になり、見る方法を調べたところ
こちらの質問
https://teratail.com/questions/59405
にて、
・ファイルに保存する
・MailApp.sendEmailでメールを送る
という解決策が最も評価をもらっていたので、こちらを試そうと思いました。
しかし、まず「ファイルに保存する」ということが分かりません。
通常のファイル保存で問題ないのでしょうか?
また、そのようにした場合、
新たに関数を作りMailApp.sendEmailで自分のemailアドレスに送る際、
doPost(e)の中身(の入っているファイル)をどのように指定すればよろしいでしょうか?
gs
1function doPost(e){ 2// 3} 4 5function sendMail { 6 MailApp.sendEmail({to:toAdr,, subject:subject, name:name, body:body,attachments:files}); 7}
LINEBotのコード
gs
1 2var ACCESS_TOKEN = 'LINE側で生成したアクセストークン'; 3 4function doPost(e) { 5 // WebHookで受信した応答用Token 6 var replyToken = JSON.parse(e.postData.contents).events[0].replyToken; 7 // ユーザーのメッセージを取得 8 var userMessage = JSON.parse(e.postData.contents).events[0].message.text; 9 // 応答メッセージ用のAPI URL 10 var url = 'https://api.line.me/v2/bot/message/reply'; 11 12 UrlFetchApp.fetch(url, { 13 'headers': { 14 'Content-Type': 'application/json; charset=UTF-8', 15 'Authorization': 'Bearer ' + ACCESS_TOKEN, 16 }, 17 'method': 'post', 18 'payload': JSON.stringify({ 19 'replyToken': replyToken, 20 'messages': [{ 21 'type': 'text', 22 'text': userMessage + 'ンゴ', 23 }], 24 }), 25 }); 26 return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); 27} 28
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/27 10:21
2020/03/27 10:48
2020/03/27 11:03
2020/03/27 12:25
2020/03/27 13:11 編集