iT邦幫忙

0

Line BOT出現"POST / HTTP/1.1" 400 -

這幾天一直在嘗試line BOT
目前先 測試這個自動回話的範例
https://github.com/LukeHong/line_bot_echo
除了這兩行更改之外.其他一樣
line_bot_api = LineBotApi('')
handler = WebhookHandler('')
但總是出現錯誤,請問是哪邊設定出錯呢?
驗證webhook時也是同樣錯誤
調適後有400 跟405兩種
127.0.0.1 - - "POST / HTTP/1.1" 400 -
127.0.0.1 - - "POST / HTTP/1.1" 405 -

補覺鳴詩 iT邦研究生 2 級 ‧ 2021-01-23 23:51:57 檢舉
驗證 webhook 有同樣錯誤
如果你的憑證是自簽憑證的話是過不了的喔
Han iT邦新手 4 級 ‧ 2021-01-23 23:55:41 檢舉
完全沒想到是https的問題XD 直接預設大家都有
如果是樓上大大所述的狀況的話 可以使用ngrok來試試看

1 個回答

0
Han
iT邦新手 4 級 ‧ 2021-01-23 22:38:06

照python sdk的github文件來說
你改的那兩行,要放你申請機器人的 token 和 secret

沒有放的話自然無法成功收到事件

https://github.com/line/line-bot-sdk-python

看更多先前的回應...收起先前的回應...
litonchen iT邦新手 5 級 ‧ 2021-01-23 23:23:11 檢舉

都有改
有試過明碼跟加密兩種 還是持續出錯

Han iT邦新手 4 級 ‧ 2021-01-23 23:28:28 檢舉
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:
        print("Invalid signature. Please check your channel access token/channel secret.")
        abort(400)

    return 'OK'

照github readme來看,出現400除了tokenchannel secret有問題以外,不會有其他狀況

請到 Line Developer 網站查看是否使用正確的金鑰

litonchen iT邦新手 5 級 ‧ 2021-01-24 01:07:29 檢舉

請問line有SSL白名單嗎?怎麼檢查line會不會接受?
我是在sslforfree申請
https://ithelp.ithome.com.tw/upload/images/20210124/20107184ulJZrP1Crn.png

litonchen iT邦新手 5 級 ‧ 2021-01-24 01:08:54 檢舉

請問line有SSL白名單嗎?怎麼檢查line會不會接受?
我有找到一份名單,我的根簽發機構不在名單上,是這個原因?
https://developers.line.biz/media/messaging-api/build-bot/ca_root_v2.txt

Franky Chen iT邦研究生 4 級 ‧ 2021-01-24 13:07:34 檢舉

換用letsencrypt看看

Han iT邦新手 4 級 ‧ 2021-01-24 19:15:18 檢舉

最簡單的話看要不要試試看 ngrok
有登入帳號的話網址還不會 8hrs 失效

litonchen iT邦新手 5 級 ‧ 2021-01-24 19:19:12 檢舉

我有三個 ngrok 網址
ngrok只是解決內網穿透 沒法解決SSL的問題
昨天還想破頭我的電腦是win,弄letsencrypt很麻煩。早上忽然想到...我這周末把公司的mac搬回家了...嘿嘿嘿

Han iT邦新手 4 級 ‧ 2021-01-24 22:44:39 檢舉

ngrok不就有https了?

我要發表回答

立即登入回答