line-bot-sdk的使用
文章目录
前言
最近做了一个小项目:Line公式号添加自动推送功能。Line是一款在日本韩国非常流行的社交软件,目前在国内无法使用。Line公式号类似于微信公众号。项目的主要内容是当用户在某个APP内活跃时,并且该用户关注了我们在Line中的官方公式号,我们可以对该用户做单点推送,将内容推送给该用户。
一、Line Bot SDK
对于初学者而言,快速建立一个Line公式号的方法就是利用Line提供的 SDK,Line Bot SDK 提供一些常用语言的函数库,我在这里贴出Python的SDK链接,在这些SDK中,我们还能看到一些case,能让初学者很快上手并使用。
Python SDK : https://github.com/line/line-bot-sdk-python
二、代码示例及配置
1.line-bot-sdk 的使用
代码如下(示例):
值得注意的是:安装这个库时会安装一系列依赖包,并且会自动将它依赖的,你已有的但版本较低包升级至最新】
from linebot import LineBotApi
from linebot import WebhookHandler
from linebot.models.events import FollowEvent
from linebot.models.events import UnfollowEvent
from linebot.models.events import MessageEvent
from linebot.exceptions import LineBotApiError
from linebot.exceptions import InvalidSignatureError
# 1. 创建消息回复处理实例(line_bot_obj) 和消息接收处理实例(webhook_handler)
line_bot_obj = LinkBotApi(channel_access_token="your channel access token")
webhook_handler = WebhookHandler(channel_secret="your channel secret")
# 2. 定义消息接收的回调接口, 所有从你的Line 公式号收到的消息都会由这个回调接口处理,因此这个回调接# 口的url需要配置到在Line公式号创建的后台。当收到消息之后,你就可以根据不同的消息类型去处理你的业# # 务逻辑了。
class CallBackView(View):
def post:
# 通过signature及body确认消息来源是否是line
signature = request.META.get('HTTP_X_LINE_SIGNATURE')
body = request.body.decode('utf-8')
try:
webhook_handler.handle(body, signature)
except InvalidSignatureError:
pass
except LineBotApiError:
pass
# 3. 在收到的消息事件中处理业务逻辑,以下三种是我这次用到的,还有其他的
@webhook_handler.add(FollowEvent)
def handle_follow_event(event):
# 关注事件处理逻辑
pass
@webhook_handler.add(UnfollowEvent)
def handle_unfollow_event(event):
# 取关事件处理逻辑
pass
@webhook_handler.add(MessageEvent):
def handle_message_event(event):
# 文本消息事件处理逻辑
pass
2.line-bot-sdk 的相关配置
1. channel access token 和channel secret
在这个页面创建了channel之后, 就可以获得你的channel access token 和channel secret,它们特别重要,是你与你的Line公式号建立通信的重要凭证。https://developers.line.biz/console/channel/new?provider=1654925739&type=line-login
2. 在你建立好的channel 配置页面配置上述回调接口的URL,注意:该URL中不应该包含"line_link"字符,否则会配置失败
总结
提示:这里对文章进行总结:
例如:本文简单介绍了Line bot-sdk 的应用,希望大家有什么问题可以在评论区和我讨论~~~磨刀不误砍柴工,做之前先把官方文档读一遍,就会顺手很多。
上一篇: SpringBoot 打jar包部署
下一篇: 搜索引擎SEO伪技术你掌握到第几层了?