pythonとherokuで
line bot の作成をしていますが、
webhookの接続が完了できません。
Line Api の公式リファレンスを見ながら、
以下のmain.pyファイルを作成しました。
main
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["秘密鍵"] 18YOUR_CHANNEL_SECRET = os.environ["秘密鍵"] 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)
main.pyに記載した二つの秘密鍵と、heroku に登録した秘密鍵は確かにあっているのですが、
heroku logsにはkey error from none とあり、どうやら鍵の設定に問題があるように見えました。
logsの内容も示します。
logs
12019-05-30T13:59:38.165509+00:00 heroku[web.1]: Starting process with command `python main.py` 22019-05-30T13:59:40.213351+00:00 heroku[web.1]: State changed from starting to crashed 32019-05-30T13:59:40.101461+00:00 app[web.1]: Traceback (most recent call last): 42019-05-30T13:59:40.101485+00:00 app[web.1]: File "main.py", line 17, in <module> 52019-05-30T13:59:40.101615+00:00 app[web.1]: YOUR_CHANNEL_ACCESS_TOKEN = os.environ["秘密鍵"] 62019-05-30T13:59:40.101620+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/os.py", line 669, in __getitem__ 72019-05-30T13:59:40.101918+00:00 app[web.1]: raise KeyError(key) from None 82019-05-30T13:59:40.101932+00:00 app[web.1]: KeyError: '秘密鍵' 92019-05-30T13:59:40.194874+00:00 heroku[web.1]: Process exited with status 1 10 ! Logs eventsource failed with: 503 Service Unavailable
webhookに接続完了するためにお力添えもらえないでしょうか?
以下使用環境です。
python-3.6.5
Flask==1.0.3
line-bot-sdk==1.9.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/31 05:29