GASの画面には65行条件の後に)がありません。
と表示されます。コードは下のとうりです。念のため写真も載せておきます![]
何をしたいかっていうと
(送信されたメッセージのことをWIKIで検索→説明とURL)+(/helpと送信されたら固定のメッセージを送る。)です
何回か直そうとしたんですが何も帰ってこなくなったりしました
var CHANNEL_ACCESS_TOKEN = "アクセストークン"; var simple_wikipedia_api = 'http://wikipedia.simpleapi.net/api'; function doPost(e) { var contents = e.postData.contents; var obj = JSON.parse(contents); var events = obj["events"]; for (var i = 0; i < events.length; i++) { if (events[i].type == "message") { reply_message(events[i]); } } } function reply_message(e) { if (e.message.type == "text") { var input_text = e.message.text; var reply_text = ""; if (input_text == "/help") { reply_text = "こちらはhelpです。使い方の説明をします。『調べたい単語+とは』と送信してください。"; } else if (input_text == "おはよう") { reply_text = "おはようございます"; } } else if ( function doPost(e) { var reply_token= JSON.parse(e.postData.contents).events[0].replyToken; if (typeof reply_token === 'undefined') { return; } var user_message = JSON.parse(e.postData.contents).events[0].message.text; var reply_messages = ['wikiに登録されてないよ!!(´;ω;`)']; if (/とは??$/.test(user_message)) { var q = user_message.match(/(.*)とは??$/)[1]; var url_and_body = getWikipediaUrlAndBody(q); if (url_and_body !== null) { reply_messages = [ '「' + q + '」' + 'について調べるよ!!', url_and_body.body.substr(0, 140) + '...', '長いからこの先は下記からどうぞ(˘ω˘)', url_and_body.url, ]; } } var messages = reply_messages.map(function (v) { return {'type': 'text', 'text': v}; }); UrlFetchApp.fetch(line_endpoint, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'replyToken': reply_token, 'messages': messages, }), }); return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); } function getWikipediaUrlAndBody(q) { var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json'; var res = JSON.parse(UrlFetchApp.fetch(url)); if (res !== null) { return {'url': res[0].url,'body': res[0].body}; } else { return null; } } var postData = { "replyToken": e.replyToken, "messages": [{ "type": "text", "text": reply_text }] }; } var options = { "method": "post", "headers": { "Content-Type": "application/json", "Authorization": "Bearer " + CHANNEL_ACCESS_TOKEN }, "payload": JSON.stringify(postData) }; UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options); }
else ifはいらないと思いなくしてみました
var
1var simple_wikipedia_api = 'http://wikipedia.simpleapi.net/api'; 2function doPost(e) { 3var contents = e.postData.contents; 4var obj = JSON.parse(contents); 5var events = obj["events"]; 6for (var i = 0; i < events.length; i++) { 7if (events[i].type == "message") { 8reply_message(events[i]); 9} 10} 11} 12 13function reply_message(e) { 14if (e.message.type == "text") { 15var input_text = e.message.text; 16var reply_text = ""; 17if (input_text == "/help") { 18reply_text = "こちらはhelpです。使い方の説明をします。『調べたい単語+とは』と送信してください。"; 19} else if (input_text == "おはよう") { 20reply_text = "おはようございます"; 21} 22 23 24 25function doPost(e) { 26 var reply_token= JSON.parse(e.postData.contents).events[0].replyToken; 27 if (typeof reply_token === 'undefined') { 28 return; 29 } 30 var user_message = JSON.parse(e.postData.contents).events[0].message.text; 31 32 var reply_messages = ['wikiに登録されてないよ!!(´;ω;`)']; 33 if (/とは??$/.test(user_message)) { 34 var q = user_message.match(/(.*)とは??$/)[1]; 35 var url_and_body = getWikipediaUrlAndBody(q); 36 if (url_and_body !== null) { 37 reply_messages = [ 38 '「' + q + '」' + 'について調べるよ!!', 39 url_and_body.body.substr(0, 140) + '...', 40 '長いからこの先は下記からどうぞ(˘ω˘)', 41 url_and_body.url, 42 ]; 43 } 44 } 45 46 var messages = reply_messages.map(function (v) { 47 return {'type': 'text', 'text': v}; 48 }); 49 50 UrlFetchApp.fetch(line_endpoint, { 51 'headers': { 52 'Content-Type': 'application/json; charset=UTF-8', 53 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, 54 }, 55 'method': 'post', 56 'payload': JSON.stringify({ 57 'replyToken': reply_token, 58 'messages': messages, 59 }), 60 }); 61 return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); 62} 63 64 function getWikipediaUrlAndBody(q) { 65 var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json'; 66 var res = JSON.parse(UrlFetchApp.fetch(url)); 67 if (res !== null) { 68 return {'url': res[0].url,'body': res[0].body}; 69 } else { 70 return null; 71 } 72} 73 74 75 76 77 var postData = { 78"replyToken": e.replyToken, 79"messages": [{ 80"type": "text", 81"text": reply_text 82}] 83}; 84} 85var options = { 86"method": "post", 87"headers": { 88"Content-Type": "application/json", 89"Authorization": "Bearer " + CHANNEL_ACCESS_TOKEN 90}, 91"payload": JSON.stringify(postData) 92}; 93UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options); 94} 95
var CHANNEL_ACCESS_TOKEN = "アクセストークン"; var simple_wikipedia_api = 'http://wikipedia.simpleapi.net/api'; function doPost(e) { var contents = e.postData.contents; var obj = JSON.parse(contents); var events = obj["events"]; for (var i = 0; i < events.length; i++) { if (events[i].type == "message") { reply_message(events[i]); } } } function reply_message(e) { if (e.message.type == "text") { var input_text = e.message.text; var reply_text = ""; if (input_text == "/help") { reply_text = "こちらはhelpです。使い方の説明をします。『調べたい単語+とは』と送信してください。"; } else if (input_text == "おはよう") { reply_text = "おはようございます"; } { var reply_token= JSON.parse(e.postData.contents).events[0].replyToken; if (typeof reply_token === 'undefined') { return; } var user_message = JSON.parse(e.postData.contents).events[0].message.text; var reply_messages = ['wikiに登録されてないよ!!(´;ω;`)']; if (/とは??$/.test(user_message)) { var q = user_message.match(/(.*)とは??$/)[1]; var url_and_body = getWikipediaUrlAndBody(q); if (url_and_body !== null) { reply_messages = [ '「' + q + '」' + 'について調べるよ!!', url_and_body.body.substr(0, 140) + '...', '長いからこの先は下記からどうぞ(˘ω˘)', url_and_body.url, ]; } } var messages = reply_messages.map(function (v) { return {'type': 'text', 'text': v}; }); UrlFetchApp.fetch(line_endpoint, { 'headers': { 'Content-Type': 'application/json; charset=UTF-8', 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, }, 'method': 'post', 'payload': JSON.stringify({ 'replyToken': reply_token, 'messages': messages, }), }); return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON); } function getWikipediaUrlAndBody(q) { var url = simple_wikipedia_api + '?keyword=' + encodeURIComponent(q) + '&output=json'; var res = JSON.parse(UrlFetchApp.fetch(url)); if (res !== null) { return {'url': res[0].url,'body': res[0].body}; } else { return null; } var postData = { "replyToken": e.replyToken, "messages": [{ "type": "text", "text": reply_text }] }; var options = { "method": "post", "headers": { "Content-Type": "application/json", "Authorization": "Bearer " + CHANNEL_ACCESS_TOKEN }, "payload": JSON.stringify(postData) }; UrlFetchApp.fetch("https://api.line.me/v2/bot/message/reply", options); } } }

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/09 12:57
2019/06/09 13:00
2019/06/09 13:06
2019/06/09 13:14
2019/06/09 14:09
2019/06/09 14:51
2019/06/10 06:01