一篇文章,带你轻松玩转飞书通知!- 飞书官网
解决方案

一篇文章,带你轻松玩转飞书通知!

飞书

2024-12-23

推荐理由​
一、关于我​
二、了解飞书通知​
三、开发准备​
四、正式开发​
五、其他​
作者:潘龙(phiron.pan)​
推荐理由​
飞书通知不仅漂亮而且引人注目,让我们一起来构建自己的飞书通知吧!​
一、关于我​
大家好,我是一名全栈开发工程师,专业折腾,业余学霸,我的人生格言是:学到老,活到老,活到老,学到老。有人说我是代码的画家,而我认为编程就是我的马拉松,不是为了到达终点,而是为了一直奔跑!​
​
二、了解飞书通知​
当提到飞书通知时,我们实际上是在创建一个飞书自建应用,通过赋予机器人能力,再利用调用飞书发送消息接口实现对用户的消息推送。这一过程可以呈现出类似飞书官方发送通知的效果,如下图所示:​
这个通知看起来不仅漂亮而且引人注目,是不是激发了你开始构建自己的飞书通知的冲动呢?​
​
三、开发准备​
📌开发工具环境安装:首先得在电脑安装python环境和pycharm开发工具,具体如何安装,请自行网络搜索,网上的教程还是挺详细的,这里就不再赘述了。​
📌飞书自建应用准备:​
1、点击飞书开发者后台->创建企业自建应用->填写完相关信息创建好。​
2、点击添加应用能力,点击添加机器人。​
​
250px|700px|reset
​
​
3、点击权限管理,接着选择消息与群主。在这里,我们需要确保所有选项都被勾选上,因为发送消息需要通过飞书用户的open_id或者user_id等信息。为了实现这一点,开发者需要开通小程序或者网页的相关能力,并通过免登录的方式获取用户的open_id,最后将这些信息保存到数据库中。请注意,在进行权限管理时,务必添加能够获取用户信息的权限。更详细的步骤和信息可以参考飞书官方文档。​
​
250px|700px|reset
​
​
一切准备就绪,现在我们可以踏上开发之旅啦!​
​
四、正式开发​
1、打开pycharm,点击新建项目,然后修改自己的项目名,不想修改默认即可,然后点击创建按钮。​
2、进来后 右键创建一个main.py的文件,这个是程序的主入口。​
​
250px|700px|reset
​
​
3、复制下面代码到文件里面 相关的信息 修改成自己的 比如 appid等。​
​
​
import json​
import logging​
​
from request_utils import RequestHandler​
​
# 配置日志​
logging.basicConfig(level=logging.DEBUG)​
​
req = RequestHandler()​
​
if __name__ == '__main__':​
​
# 前端小程序调用tt.login登录时获取的code​
code = ""​
# 自建应用的appid​
appid = ""​
# 自建应用的app_secret​
app_secret = ""​
​
# template 卡片 模版颜色 red blue turquoise 三种卡片主题颜色​
template = 'red'​
​
# header​
header = "标题名称"​
​
# open_id​
open_id = ""​
​
try:​
​
access_token_url = "https://open.feishu.cn/open-apis/mina/v2/tokenLoginValidate"​
params1 = {​
"code": code,​
}​
​
# 飞书获取app_access_token​
url = "https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal"​
params = {​
"app_id": appid,​
"app_secret": app_secret​
}​
res = req.post(url, json=params)​
app_access_token = res.json()["app_access_token"]​
​
# 飞书发送消息​
msg_url = "https://open.feishu.cn/open-apis/im/v1/messages?receive_id_type=open_id"​
​
params2 = {​
"receive_id": open_id,​
"msg_type": "interactive",​
"content": json.dumps({​
"config": {"wide_screen_mode": True},​
"elements": [​
{​
"tag": "div",​
"text": {​
"content": "最真挚的问候",​
"tag": "lark_md"​
}​
},​
{​
"tag": "div",​
"text": {​
"content": "送给你",​
"tag": "lark_md"​
}​
},​
{​
"actions": [​
{​
"tag": "button",​
"text": {"content": "立即跳转", "tag": "plain_text"},​
"type": "primary",​
"url": "https://open.feishu.cn/"​
},​
],​
"tag": "action"​
}​
],​
"header": {​
"template": template,​
"title": {"content": header, "tag": "plain_text"}​
}​
}),​
}​
​
headers = {​
"Authorization": "Bearer " + app_access_token​
}​
​
res = req.post(msg_url, json=params2, headers=headers)​
​
# 打印看一下是否成功​
logging.debug("access_token_url======%s,res======%s", msg_url, res.json())​
except Exception as e:​
print("捕获异常", e)​
​
4、再新建一个request_utils.py的文件,这个是发送请求的工具类。​
5、把下面代码复制到文件里,如果import requests报红,是因为你新建的项目还没有安装requests包,点击它右键install一下即可。​
​
​
import requests​
​
​
class RequestHandler:​
def get(self, url, **kwargs):​
"""封装get方法"""​
# 获取请求参数​
params = kwargs.get("params")​
headers = kwargs.get("headers")​
try:​
result = requests.get(url, params=params, headers=headers)​
return result​
except Exception as e:​
print("get请求错误: %s" % e)​
​
def post(self, url, **kwargs):​
"""封装post方法"""​
# 获取请求参数​
params = kwargs.get("params")​
data = kwargs.get("data")​
json = kwargs.get("json")​
headers = kwargs.get("headers")​
try:​
result = requests.post(url, params=params, data=data, json=json, headers=headers)​
return result​
except Exception as e:​
print("post请求错误: %s" % e)​
​
6、最后点击main.py绿色按钮运行程序,即可发送消息啦,如下图所示​
​
五、其他​
好了,我们的教程就到这里了!如果你在阅读后有更多开发问题或者疑问,欢迎随时联系我,我的邮箱是1170468846@qq.com。此外,关于消息发送的格式和方式,还有更多丰富多彩的选项。详细信息请查阅飞书官方文档:​
希望你在飞书通知的开发中能够取得成功,祝你编码愉快!​
预约飞书企业效能顾问 深度诊断企业痛点,定制专属 AI 办公方案

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题

字节跳动旗下 AI 工作平台

联系我们立即试用