前提
LINE公式で、越後線と、信越本線のどちらかを送信すると、運行状況が確認できるシステム
実現したいこと
ここに実現したいことを箇条書きで書いてください。
LINEでの返信が来るようにしたい
発生している問題・エラーメッセージ
ただただと「失敗しました」
該当のソースコード
GAS
1function doPost(){ 2 var url = "https://transit.yahoo.co.jp/diainfo/477/0" 3 var options = { 4 'method' : 'GET', 5 'muteHttpExceptions' : true, 6 } 7 var content = UrlFetchApp.fetch(url, options).getContentText('UTF-8'); 8 var parsere1 = Parser.data(content).from('<dt><span class="icnNormalLarge">').to('</dt>').iterate(); 9 var parsere2 = Parser.data(content).from('</dt><dd class="normal"><p>').to('</p>').iterate(); 10 for (var i = 0; i < parsere1.length; i++){ 11 parsere1[i] = parsere1[i].replace('[○]</span>',""); 12 parsere1[i] = parsere1[i].replace('\n',""); 13 parsere1[i] = parsere1[i].replace('\n',""); 14 } 15 var stid = "1Y55Qw6RvkSvq3VP8AjNVr_a3ho1AQK4pemfnJ1VfJ8w"; 16 var st = SpreadsheetApp.openById(stid).getSheetByName("test"); 17 for (i = 0 ; i < parsere1.length ; i ++){ 18 console.log(parsere1[i]); 19 console.log(parsere2[i]); 20 var url = "https://transit.yahoo.co.jp/diainfo/474/0" 21 var options = { 22 'method' : 'GET', 23 'muteHttpExceptions' : true, 24 } 25 var content = UrlFetchApp.fetch(url, options).getContentText('UTF-8'); 26 var parsers1 = Parser.data(content).from('<dt><span class="icnNormalLarge">').to('</dt>').iterate(); 27 var parsers2 = Parser.data(content).from('</dt><dd class="normal"><p>').to('</p>').iterate(); 28 for (var i = 0; i < parsers1.length; i++){ 29 parsers1[i] = parsers1[i].replace('[○]</span>',""); 30 parsers1[i] = parsers1[i].replace('\n',""); 31 parsers1[i] = parsers1[i].replace('\n',""); 32 } 33 var stid = "1Y55Qw6RvkSvq3VP8AjNVr_a3ho1AQK4pemfnJ1VfJ8w"; 34 var st = SpreadsheetApp.openById(stid).getSheetByName("test"); 35 for (i = 0 ; i < parsers1.length ; i ++){ 36 console.log(parsers1[i]); 37 console.log(parsers2[i]); 38} 39 40 var reply_token = data.events[0].replyToken; //reply token 41 var usertext = data.events[0].message.text; 42 var channel_token = "LINE TOKEN" 43var url = "https://api.line.me/v2/bot/message/reply" 44 if (usertext == "越後線" ) { 45 var message = { 46 "replyToken" : event.replyToken, 47 "messages" : [{"type": "text","text" : "越後線は、" + Parsere1 + "です。" + "\n" + Parsere1 }] 48 }; 49 50 var options = { 51 "method" : "post", 52 "headers" : { 53 "Content-Type" : "application/json", 54 "Authorization" : "Bearer " + channel_token 55 }, 56 "payload" : JSON.stringify(message) 57 }; 58 59 60 UrlFetchApp.fetch(url, options); 61 } 62 63 else { 64 var message ={ 65"replyToken" : event.replyToken, 66 "messages" : [{"type": "text","text" : "信越本線は、" + Parsers1 + "です。" + "\n" + Parsers2 }] 67 }; 68 69 var options = { 70 "method" : "post", 71 "headers" : { 72 "Content-Type" : "application/json", 73 "Authorization" : "Bearer " + channel_token 74 }, 75 "payload" : JSON.stringify(message) 76 }; 77 78 79 UrlFetchApp.fetch(url, options); 80 81 } 82 } 83 }
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
スプレッドシートIDがわかるようになっていますが、公開にしていないのと、実際のプログラムで不必要だと思ったため、そのままにしています。

回答1件
あなたの回答
tips
プレビュー