关于Line bot 的 LineBotApiError: status_code=401错误问题

有很长时间没有更新了,最近也是快到了毕业季,变得比较忙碌。最近尝试了一下Line 的官方账号的bot。使用了Heroku的SSL。

关于整体的教程比较推荐https://github.com/twtrubiks/line-bot-tutorial这一个。

但是有一些地方本人感觉说的不是很清楚。如果安装了anaconda的话,使用pip freeze获取当前环境下面的包的时候会有一大堆包出来。挑选合适的包比较麻烦,建议不要使用anaconda的python

另外注意各种版本问题,安装更新好环境后,使用

pip freeze > requirements.txt

  

更新requirements.txt。


在上传到Heroku之前应该使用在本地运行一下,看有没有bug

python [your python file name].py collectstatic

最后如果出现这个bug:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/syao/Desktop/line-bot-tutorial-master/app.py': '/Users/syao/Desktop/line-bot-tutorial-master/app.py'

就可以不管他了


在CMD命令行里启动Flask就可以看看有没有bug

export FLASK_APP=myapp
export FLASK_ENV=development
flask run

如果正确了就应该在命令行里看到

* Serving Flask app "app" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: [your pin]

 这样的反馈

然后就可以通过CMD命令行输入下面的步骤传到Heroku里面

git init
heroku git:remote -a mysterious-thicket-30386
git add .
git commit -am "make it better"
git push heroku master

但是发现了一个问题就是打开app的页面会出现

Not Found

The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.

之类的话,找了很久最后发现了

对于Channel_Access_Token来说他的值应该加上''引号

而对于Channel_Secret来说不需要''引号,直接放上值就可以了

我一直在尝试都加和都不加的情况导致总是出错。

然后再在浏览器上打开app的时候,如果设定了

@app.route('/')
def index():
    return 'Hello World'

  就会得到

Hello World的反馈

最后如果在Line的Webhook URL那里验证的时候出现了下面的话

Webhookが無効なHTTPステータスコードを返しました(期待されるステータスコードは200です)

也没关系,还是能够正常运行

猜你喜欢

转载自www.cnblogs.com/zakeiswo/p/10889802.html
今日推荐