前提・実現したいこと
lineのボットを作成しています。参考にしたページ:こちら
エラーの原因を理解して解消したいです
エラーのメッセージからflaskのlogger.infoのメソッドを呼び出せていないと思うのですが、なぜ呼び出せないかわかりませんでした。
発生している問題・エラーメッセージ
app.logger.info("Request body: " + body)
該当のソースコード
python
1from flask import Flask, request, abort 2 3from linebot import ( 4 LineBotApi, WebhookHandler 5) 6from linebot.exceptions import ( 7 InvalidSignatureError 8) 9from linebot.models import ( 10 MessageEvent, TextMessage, TextSendMessage, 11) 12import os 13 14app = Flask(__name__) 15 16#環境変数取得 17YOUR_CHANNEL_ACCESS_TOKEN = os.environ["YOUR_CHANNEL_ACCESS_TOKEN"] 18YOUR_CHANNEL_SECRET = os.environ["YOUR_CHANNEL_SECRET"] 19 20line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN) 21handler = WebhookHandler(YOUR_CHANNEL_SECRET) 22 23@app.route("/callback", methods=['POST']) 24def callback(): 25 # get X-Line-Signature header value 26 signature = request.headers['X-Line-Signature'] 27 28 # get request body as text 29 body = request.get_data(as_text=True) 30 app.logger.info("Request body: " + body) 31 32 # handle webhook body 33 try: 34 handler.handle(body, signature) 35 except InvalidSignatureError: 36 abort(400) 37 38 return 'OK' 39 40 41@handler.add(MessageEvent, message=TextMessage) 42def handle_message(event): 43 line_bot_api.reply_message( 44 event.reply_token, 45 TextSendMessage(text=event.message.text)) 46 47 48if __name__ == "__main__": 49# app.run() 50 port = int(os.getenv("PORT", 5000)) 51 app.run(host="0.0.0.0", port=port)
試したこと
flaskの公式サイトで調べてみました。
何卒、ご教授お願い致します。
補足情報(FW/ツールのバージョンなど)
python 3.7.0
Flask==1.0.2
line-bot-sdk==1.8.0
windows10
あなたの回答
tips
プレビュー