line-bot-sdk的使用

尚宏硕
2023-12-01

文章目录

 


前言

最近做了一个小项目: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 的应用,希望大家有什么问题可以在评论区和我讨论~~~磨刀不误砍柴工,做之前先把官方文档读一遍,就会顺手很多。

 类似资料: