pythonとherokuで
line bot の作成をしていますが、
webhookの接続が完了できません。
Line Api の公式リファレンスを見ながら、
以下のmain.pyファイルを作成しました。
main
from flask import Flask, request, abort from linebot import ( LineBotApi, WebhookHandler ) from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) import os app = Flask(__name__) #環境変数取得 YOUR_CHANNEL_ACCESS_TOKEN = os.environ["秘密鍵"] YOUR_CHANNEL_SECRET = os.environ["秘密鍵"] line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN) handler = WebhookHandler(YOUR_CHANNEL_SECRET) @app.route("/callback", methods=['POST']) def callback(): # get X-Line-Signature header value signature = request.headers['X-Line-Signature'] # get request body as text body = request.get_data(as_text=True) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature) except InvalidSignatureError: abort(400) return 'OK' @handler.add(MessageEvent, message=TextMessage) def handle_message(event): line_bot_api.reply_message( event.reply_token, TextSendMessage(text=event.message.text)) if __name__ == "__main__": # app.run() port = int(os.getenv("PORT", 5000)) app.run(host="0.0.0.0", port=port)
main.pyに記載した二つの秘密鍵と、heroku に登録した秘密鍵は確かにあっているのですが、
heroku logsにはkey error from none とあり、どうやら鍵の設定に問題があるように見えました。
logsの内容も示します。
logs
2019-05-30T13:59:38.165509+00:00 heroku[web.1]: Starting process with command `python main.py` 2019-05-30T13:59:40.213351+00:00 heroku[web.1]: State changed from starting to crashed 2019-05-30T13:59:40.101461+00:00 app[web.1]: Traceback (most recent call last): 2019-05-30T13:59:40.101485+00:00 app[web.1]: File "main.py", line 17, in <module> 2019-05-30T13:59:40.101615+00:00 app[web.1]: YOUR_CHANNEL_ACCESS_TOKEN = os.environ["秘密鍵"] 2019-05-30T13:59:40.101620+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/os.py", line 669, in __getitem__ 2019-05-30T13:59:40.101918+00:00 app[web.1]: raise KeyError(key) from None 2019-05-30T13:59:40.101932+00:00 app[web.1]: KeyError: '秘密鍵' 2019-05-30T13:59:40.194874+00:00 heroku[web.1]: Process exited with status 1 ! Logs eventsource failed with: 503 Service Unavailable
webhookに接続完了するためにお力添えもらえないでしょうか?
以下使用環境です。
python-3.6.5
Flask==1.0.3
line-bot-sdk==1.9.0
まだ回答がついていません
会員登録して回答してみよう