iT邦幫忙

0

Day12 LINE BOT & 天氣預報 - 2 問題請教!!!

  • 分享至 

  • xImage

Hi Koios1143您好:

我是jinjon,今天在瀏覽您的這篇文章後,試著在我的NB環境執行,有些問題想請教您,不知是否可以呢?
我的NB環境說明如下:
Win 11 Home中文版
Python 3.9.7
Spyder IDE 5.1.5
Line bot 設定完成

將程式碼在我的 Spyder 執行後,調整一些錯誤後(將encoding='utf-8'拿掉),在line上輸入"新竹市",linebot 會回覆 新竹市,但是輸入"天氣 新竹市"時,它就會出現下列錯誤訊息:
[2022-06-15 01:28:50,564] ERROR in app: Exception on /callback [POST]
Traceback (most recent call last):
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask_compat.py", line 39, in reraise
raise value
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "D:\PythonProject\氣候達人\weather-36h-2.py", line 27, in callback
handler.handle(body, signature)
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 259, in handle
self.__invoke_func(func, event, payload)
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 271, in __invoke_func
func(event)
File "D:\PythonProject\氣候達人\weather-36h-2.py", line 80, in handle_message
res = get(city)
File "D:\PythonProject\氣候達人\weather-36h-2.py", line 41, in get
res = json.load(open('card.json','r'))
FileNotFoundError: [Errno 2] No such file or directory: 'card.json'
{"destination":"Ub4f57f0b6db3e790b0871de9058bc09c","events":[{"type":"message","message":{"type":"text","id":"16261973442172","text":"天氣 新竹市"},"webhookEventId":"01G5HM5J068F875YRER6J148PA","deliveryContext":{"isRedelivery":false},"timestamp":1655227729450,"source":{"type":"user","userId":"Ubc5678016cee49e3cd2d7a332cf6da49"},"replyToken":"56314d12e09b4cf197de5b8e6abdf9cf","mode":"active"}]}
127.0.0.1 - - [15/Jun/2022 01:28:50] "POST /callback HTTP/1.1" 500 -

請問這些錯誤產生,是否我有少了什麼步驟呢? 您程式裡面的open「card.json , bubble.json」這二個檔案是要如何產生呢?
謝謝

https://ithelp.ithome.com.tw/upload/images/20220615/20141516UUMra5845I.png

https://ithelp.ithome.com.tw/upload/images/20220615/20141516cJrsQkkQul.png

https://ithelp.ithome.com.tw/upload/images/20220615/20141516uqNrJAjtzJ.png

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2022-06-15 11:18:57 檢舉
去看你專案資料夾裡面有沒有card.json這個檔案。
jinjon iT邦新手 5 級 ‧ 2022-06-15 13:00:19 檢舉
沒有耶…
那是我自建的資料夾
card.json , bubble.json 我想應該是作者當初設定的 LINE Flex Message
我現在也在看 https://developers.line.biz/flex-simulator/ 說明
如何設定這二個 .json 的東西
不知我的理解是否正確呢?
hokou iT邦好手 1 級 ‧ 2022-06-15 13:18:30 檢舉
在他的 github 有看到這2個檔案呢
https://github.com/Koios1143/12th-iT-help-data/tree/master/Day12
jinjon iT邦新手 5 級 ‧ 2022-06-15 15:11:55 檢舉
https://github.com/Koios1143/12th-iT-help-data/tree/master/Day12
感謝 froce 大師的提示
在作者大大的github 裡有找到這二個 .json 檔案了。
測試中…

謝謝。
Koios iT邦新手 4 級 ‧ 2022-06-15 16:55:47 檢舉
哇!沒想到這篇文章到現在還有人在看,好開心><
也感謝前面幾位大大的回應
現在回去看當年寫的文章確實沒有清楚說到設定 Flex 基礎模板是需要另外新增一個 json 檔案
後面如果還有遇到問題歡迎歡迎><
再次感謝各位協助!
jinjon iT邦新手 5 級 ‧ 2022-06-15 17:57:04 檢舉
Hi , koios1143 大大
剛好最近在研究 LineBot 與天氣的結合,搜尋到您的這篇文章,覺得不錯。
所以用您的程式來測試一下,但是我在line 上輸入 "天氣 宜蘭縣"後,在spyder 上顯示下列錯誤,請問您之前有遇到此這樣的狀況嗎?

謝謝。

* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://10.117.63.161:8080/ (Press CTRL+C to quit)
{"destination":"Ub4f57f0b6db3e790b0871de9058bc09c","events":[{"type":"message","message":{"type":"text","id":"16265696996306","text":"天氣 宜蘭縣"},"webhookEventId":"01G5KCEZK4S6PVA5G2WVD0ERJ5","deliveryContext":{"isRedelivery":false},"timestamp":1655286758908,"source":{"type":"user","userId":"Ubc5678016cee49e3cd2d7a332cf6da49"},"replyToken":"8a9d20f88ba849eea8f8026b235466d9","mode":"active"}]}
{'type': 'carousel', 'contents': [{'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '宜蘭縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-15 18:00 ~ 06-16 06:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '陰時多雲', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '24°C ~ 27°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '20', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '舒適至悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}, {'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '宜蘭縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-16 06:00 ~ 06-16 18:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '多雲午後短暫雷陣雨', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '24°C ~ 29°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '90', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '舒適至悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}, {'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '宜蘭縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-16 18:00 ~ 06-17 06:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '多雲時陰', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '24°C ~ 27°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '20', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '舒適至悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}]}
[2022-06-15 17:52:38,528] ERROR in app: Exception on /callback [POST]
Traceback (most recent call last):
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\_compat.py", line 39, in reraise
raise value
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:\PythonProject\WeatherMaster\main.py", line 27, in callback
handler.handle(body, signature)
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 259, in handle
self.__invoke_func(func, event, payload)
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 271, in __invoke_func
func(event)
File "D:\PythonProject\WeatherMaster\main.py", line 73, in handle_message
line_bot_api.reply_message(reply_token, FlexSendMessage(city + '未來 36 小時天氣預測',res))
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 113, in reply_message
self._post(
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 1839, in _post
self.__check_error(response)
File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 1875, in __check_error
raise LineBotApiError(
linebot.exceptions.LineBotApiError: LineBotApiError: status_code=500, request_id=3e3d4cfb-2f48-487e-bff6-295f640a5b24, error_response={"details": [], "message": "Internal Server Error"}, headers={'Content-Type': 'application/json', 'Server': 'envoy', 'x-content-type-options': 'nosniff', 'x-frame-options': 'DENY', 'x-line-request-id': '3e3d4cfb-2f48-487e-bff6-295f640a5b24', 'x-xss-protection': '1; mode=block', 'Content-Length': '35', 'Expires': 'Wed, 15 Jun 2022 09:52:39 GMT', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Pragma': 'no-cache', 'Date': 'Wed, 15 Jun 2022 09:52:39 GMT', 'Connection': 'close'}
127.0.0.1 - - [15/Jun/2022 17:52:38] "POST /callback HTTP/1.1" 500 -
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-06-15 10:06:17
最佳解答

我替你邀請Koios1143邦友來回答
接下來就看你的人品了
(他上次上站是今年5月)

jinjon iT邦新手 5 級 ‧ 2022-06-15 13:01:15 檢舉

謝謝 海綿寶寶大師的協助~~
只能先自己再研究一下
看作者是否有時間上來看一下。

謝謝。

0
hokou
iT邦好手 1 級 ‧ 2022-06-15 13:21:37

從這篇文章來看
https://ithelp.ithome.com.tw/articles/10245154

有在他的 github 看到這 2 個檔案
可以確認一下
https://github.com/Koios1143/12th-iT-help-data/tree/master/Day12

jinjon iT邦新手 5 級 ‧ 2022-06-15 15:13:03 檢舉

謝謝 hokou 的提點
我剛剛也有找到了。

jinjon iT邦新手 5 級 ‧ 2022-06-15 17:18:05 檢舉

輸入"天氣 台東縣" 有抓到氣象局的資料,但是它顯示「linebot.exceptions.LineBotApiError: LineBotApiError: status_code=500」。

查到 有人遇到類似的問題,但是 error code 不一樣。
檢查了line 的Available APIs是有「REPLY_MESSAGE、
PUSH_MESSAGE」,Webhook URL 測試是OK,Use webhook 有ENABLE。不知道還會有什麼設定不正確造成呢?
http://www.e-happy.com.tw/indexforum.asp?bid=18385

謝謝。
runfile('D:/PythonProject/WeatherMaster/main.py', wdir='D:/PythonProject/WeatherMaster')

  • Serving Flask app "main" (lazy loading)
  • Environment: production
    WARNING: This is a development server. Do not use it in a production deployment.
    Use a production WSGI server instead.
  • Debug mode: off
  • Running on all addresses.
    WARNING: This is a development server. Do not use it in a production deployment.
  • Running on http://10.117.63.161:80/ (Press CTRL+C to quit)
    {"destination":"Ub4f57f0b6db3e790b0871de9058bc09c","events":[{"type":"message","message":{"type":"text","id":"16265013344043","text":"天氣 台東縣"},"webhookEventId":"01G5K4K40HABRR6QB9QWS7YQWY","deliveryContext":{"isRedelivery":false},"timestamp":1655278505587,"source":{"type":"user","userId":"Ubc5678016cee49e3cd2d7a332cf6da49"},"replyToken":"16918669393443839c7ed13e2ed25635","mode":"active"}]}
    {"success":"true","result":{"resource_id":"F-C0032-001","fields":[{"id":"datasetDescription","type":"String"},{"id":"locationName","type":"String"},{"id":"parameterName","type":"String"},{"id":"parameterValue","type":"String"},{"id":"parameterUnit","type":"String"},{"id":"startTime","type":"Timestamp"},{"id":"endTime","type":"Timestamp"}]},"records":{"datasetDescription":"三十六小時天氣預報","location":[{"locationName":"臺東縣","weatherElement":[{"elementName":"Wx","time":[{"startTime":"2022-06-15 12:00:00","endTime":"2022-06-15 18:00:00","parameter":{"parameterName":"多雲","parameterValue":"4"}},{"startTime":"2022-06-15 18:00:00","endTime":"2022-06-16 06:00:00","parameter":{"parameterName":"多雲","parameterValue":"4"}},{"startTime":"2022-06-16 06:00:00","endTime":"2022-06-16 18:00:00","parameter":{"parameterName":"多雲午後短暫雷陣雨","parameterValue":"22"}}]},{"elementName":"PoP","time":[{"startTime":"2022-06-15 12:00:00","endTime":"2022-06-15 18:00:00","parameter":{"parameterName":"20","parameterUnit":"百分比"}},{"startTime":"2022-06-15 18:00:00","endTime":"2022-06-16 06:00:00","parameter":{"parameterName":"20","parameterUnit":"百分比"}},{"startTime":"2022-06-16 06:00:00","endTime":"2022-06-16 18:00:00","parameter":{"parameterName":"50","parameterUnit":"百分比"}}]},{"elementName":"MinT","time":[{"startTime":"2022-06-15 12:00:00","endTime":"2022-06-15 18:00:00","parameter":{"parameterName":"30","parameterUnit":"C"}},{"startTime":"2022-06-15 18:00:00","endTime":"2022-06-16 06:00:00","parameter":{"parameterName":"26","parameterUnit":"C"}},{"startTime":"2022-06-16 06:00:00","endTime":"2022-06-16 18:00:00","parameter":{"parameterName":"26","parameterUnit":"C"}}]},{"elementName":"CI","time":[{"startTime":"2022-06-15 12:00:00","endTime":"2022-06-15 18:00:00","parameter":{"parameterName":"悶熱"}},{"startTime":"2022-06-15 18:00:00","endTime":"2022-06-16 06:00:00","parameter":{"parameterName":"舒適至悶熱"}},{"startTime":"2022-06-16 06:00:00","endTime":"2022-06-16 18:00:00","parameter":{"parameterName":"舒適至悶熱"}}]},{"elementName":"MaxT","time":[{"startTime":"2022-06-15 12:00:00","endTime":"2022-06-15 18:00:00","parameter":{"parameterName":"32","parameterUnit":"C"}},{"startTime":"2022-06-15 18:00:00","endTime":"2022-06-16 06:00:00","parameter":{"parameterName":"30","parameterUnit":"C"}},{"startTime":"2022-06-16 06:00:00","endTime":"2022-06-16 18:00:00","parameter":{"parameterName":"32","parameterUnit":"C"}}]}]}]}}
    {'type': 'carousel', 'contents': [{'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '臺東縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-15 12:00 ~ 06-15 18:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '多雲', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '30°C ~ 32°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '20', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}, {'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '臺東縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-15 18:00 ~ 06-16 06:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '多雲', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '26°C ~ 30°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '20', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '舒適至悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}, {'type': 'bubble', 'hero': {'type': 'image', 'url': 'https://i.imgur.com/Ex3Opfo.png', 'size': 'full', 'aspectRatio': '20:13', 'aspectMode': 'cover', 'action': {'type': 'uri', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}, 'body': {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'text', 'text': '臺東縣未來 36 小時天氣', 'weight': 'bold', 'size': 'xl', 'align': 'center'}, {'type': 'box', 'layout': 'vertical', 'margin': 'md', 'contents': [{'type': 'text', 'text': '06-16 06:00 ~ 06-16 18:00'}]}, {'type': 'separator', 'margin': 'md'}, {'type': 'box', 'layout': 'vertical', 'contents': [{'type': 'spacer'}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '天氣狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '多雲午後短暫雷陣雨', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '溫度狀況', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '26°C ~ 32°C', 'weight': 'bold', 'offsetEnd': 'xxl'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '降雨機率', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '50', 'offsetEnd': 'xxl', 'weight': 'bold'}]}, {'type': 'box', 'layout': 'horizontal', 'contents': [{'type': 'text', 'text': '舒適度', 'color': '#0099FF', 'weight': 'bold'}, {'type': 'text', 'text': '舒適至悶熱', 'offsetEnd': 'xxl', 'weight': 'bold'}]}]}]}, 'footer': {'type': 'box', 'layout': 'vertical', 'spacing': 'sm', 'contents': [{'type': 'button', 'style': 'link', 'height': 'sm', 'action': {'type': 'uri', 'label': '詳細內容', 'uri': 'https://www.cwb.gov.tw/V8/C/W/County/index.html'}}], 'flex': 0}}]}
    [2022-06-15 15:35:05,604] ERROR in app: Exception on /callback [POST]
    Traceback (most recent call last):
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask_compat.py", line 39, in reraise
    raise value
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
    File "C:\Users\jinjo\anaconda3\lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functionsrule.endpoint
    File "D:\PythonProject\WeatherMaster\main.py", line 27, in callback
    handler.handle(body, signature)
    File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 259, in handle
    self.__invoke_func(func, event, payload)
    File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\webhook.py", line 271, in __invoke_func
    func(event)
    File "D:\PythonProject\WeatherMaster\main.py", line 73, in handle_message
    line_bot_api.reply_message(reply_token, FlexSendMessage(city + '未來 36 小時天氣預測',res))
    File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 113, in reply_message
    self._post(
    File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 1839, in _post
    self.__check_error(response)
    File "C:\Users\jinjo\anaconda3\lib\site-packages\linebot\api.py", line 1875, in __check_error
    raise LineBotApiError(
    linebot.exceptions.LineBotApiError: LineBotApiError: status_code=500, request_id=f99c2dea-a843-4668-884b-17d42e865352, error_response={"details": [], "message": "Internal Server Error"}, headers={'Content-Type': 'application/json', 'Server': 'envoy', 'x-content-type-options': 'nosniff', 'x-frame-options': 'DENY', 'x-line-request-id': 'f99c2dea-a843-4668-884b-17d42e865352', 'x-xss-protection': '1; mode=block', 'Content-Length': '35', 'Expires': 'Wed, 15 Jun 2022 07:35:06 GMT', 'Cache-Control': 'max-age=0, no-cache, no-store', 'Pragma': 'no-cache', 'Date': 'Wed, 15 Jun 2022 07:35:06 GMT', 'Connection': 'close'}
    127.0.0.1 - - [15/Jun/2022 15:35:05] "POST /callback HTTP/1.1" 500 -
hokou iT邦好手 1 級 ‧ 2022-06-16 08:52:37 檢舉

status_code=500,
error_response={"details": [], "message": "Internal Server Error"}

500是伺服器的問題,可能查一下自己啟動的 ip 是不是有問題,或是 ngrok 是不是換 IP 了

其他的可能要再進一步了解了

我要發表回答

立即登入回答