LINEで順番待ちボットの作成をしています。
教材はqiitaに掲載されており、全4回のステップで改良しながら完成させていくものです。
第1回の部分は何とか終わらせ、第2回に取り組んでいますがうまくいきません。。。
エラーは出ないものの、反応もしていません。
アドバイスいただけませんでしょうか。
第1回の教材
https://qiita.com/doikatsuyuki/items/842b675415abd463e499#comments
第2回の教材
https://qiita.com/doikatsuyuki/items/d551b169b129206fc394
患者は、2種類の発行を申請できます。①病院内での順番待ち、②事前予約券の発行です。
第2回のコードは、”事前予約券の発行”、”予約券番号・診察中番号”の初期化の2つで成り立っています。しかしながら、このコードをどこに繋げたら良いのかがわからず、結果的にエラーはないものの反応もしない状況に陥っているように思います。
参考までに第1回で完成させたコードを掲載します。
javascript
1// LINE developersのメッセージ送受信設定に記載のアクセストークン 2var ACCESS_TOKEN = 'ここにアクセストークンが入ります。'; 3 4 5function getNumber() { 6 //1. 現在のスプレッドシートを取得 7 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 8 //2. 現在のシートを取得 9 var sheet = spreadsheet.getActiveSheet(); 10 //3. 指定するセルの範囲(A1)を取得 11 var range = sheet.getRange("A1"); 12 //4. 値を取得する 13 var value = range.getValue(); 14 //5. 発券済み枚数を増やす 15 range.setValue(value + 1); 16 //ログに出力 17 return value; 18} 19 20 21function getNumberB1() { 22 //1. 現在のスプレッドシートを取得 23 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 24 //2. 現在のシートを取得 25 var sheet = spreadsheet.getActiveSheet(); 26 //3. 指定するセルの範囲(B1)を取得 27 var range = sheet.getRange("B1"); 28 //4. 値を取得する 29 var value = range.getValue(); 30 //ログに出力 31 return value; 32} 33 34 35function incrementB1() { 36 //1. 現在のスプレッドシートを取得 37 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 38 //2. 現在のシートを取得 39 var sheet = spreadsheet.getActiveSheet(); 40 //3. 指定するセルの範囲(B1)を取得 41 var range = sheet.getRange("B1"); 42 //4. 値を取得する 43 var value = range.getValue(); 44 //5. 発券済み枚数を増やす 45 range.setValue(value + 1); 46} 47 48 49function doPost(e) { 50 // WebHookで受信した応答用Token 51 var replyToken = JSON.parse(e.postData.contents).events[0].replyToken; 52 // ユーザーのメッセージを取得 53 var userMessage = JSON.parse(e.postData.contents).events[0].message.text; 54 // 応答メッセージ用のAPI URL 55 var url = 'https://api.line.me/v2/bot/message/reply'; 56 57 // 追加: userMessage の内容によって返却するメッセージを設定 58 var text = ''; 59 if (userMessage === '発券する') { 60 text = 'あなたの診察は'+ getNumber() + '番目です。'; 61 } else if (userMessage === '今何番目?') { 62 text = '現在'+ getNumberB1() + '番を診察中です。'; 63 } else if (userMessage === '更新') { 64 incrementB1(); 65 text = getNumberB1()+ '番を診察中に更新しました。'; 66 } 67 68 UrlFetchApp.fetch(url, { 69 'headers': { 70 'Content-Type': 'application/json; charset=UTF-8', 71 'Authorization': 'Bearer ' + ACCESS_TOKEN, 72 }, 73 'method': 'post', 74 'payload': JSON.stringify({ 75 'replyToken': replyToken, 76 'messages': [{ 77 'type': 'text', 78 'text': text 79 }], 80 }), 81 }); 82 return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); 83}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/15 01:00
2021/01/15 01:05