記事と全く同じように実装してみました。
初めてオウム返しをするLINEBOTを作成しようと、コピペして実装しましたが「Webhookが200以外のHTTPステータスコードを返しました」とエラーが出てきてしまい、APIの接続確認が出来ません。
オウム返しのLINEBOTを完成させたいです。
お時間ありましたら、ご回答頂けますと幸いです。
【利用環境】
LINE MessagingAPI,GoogleAppsScript
【ソースコード】
var
1 2var CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'; 3 4function doPost(e) { 5 var event = JSON.parse(e.postData.contents).events[0]; 6 var replyToken= event.replyToken; 7 8 if (typeof replyToken === 'undefined') { 9 return; // エラー処理 10 } 11 var userId = event.source.userId; 12 var nickname = getUserProfile(userId); 13 14 if(event.type == 'follow') { 15 // ユーザーにbotがフォローされた場合に起きる処理 16 } 17 18 if(event.type == 'message') { 19 var userMessage = event.message.text; 20 // 今回は鸚鵡返しなので届いたメッセージをそのまま返します。 21 var replyMessage = userMessage 22 23 // もし届いたユーザーからのメッセージによって他にやりたい処理 24 // (ex: spread sheetへの記入など)がある場合は、ここに入れて下さい。 25 26 var url = 'https://api.line.me/v2/bot/message/reply'; 27 28 UrlFetchApp.fetch(url, { 29 'headers': { 30 'Content-Type': 'application/json; charset=UTF-8', 31 'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN, 32 }, 33 'method': 'post', 34 'payload': JSON.stringify({ 35 'replyToken': replyToken, 36 'messages': [{ 37 'type': 'text', 38 'text': replyMessage, 39 }], 40 }), 41 }); 42 return ContentService.createTextOutput( 43 JSON.stringify({'content': 'post ok'}) 44 ).setMimeType(ContentService.MimeType.JSON); 45 } 46} 47 48// profileを取得してくる関数 49function getUserProfile(userId){ 50 var url = 'https://api.line.me/v2/bot/profile/' + userId; 51 var userProfile = UrlFetchApp.fetch(url,{ 52 'headers': { 53 'Authorization' : 'Bearer ' + CHANNEL_ACCESS_TOKEN, 54 }, 55 }) 56 return JSON.parse(userProfile).displayName; 57} 58コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/26 10:14
2020/04/26 11:23
2020/04/26 11:43
2020/04/26 11:51
2020/04/26 12:10
2020/04/26 12:20
2020/04/26 12:26
2020/04/26 12:31
2020/04/26 12:32
2020/04/27 10:38