色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python調用飛書發送消息的示例

瀏覽:78日期:2022-07-05 18:40:20

一、創建飛書機器人  

自定義飛書機器人操作步驟,具體詳見飛書官方文檔:《機器人 | 如何在群聊中使用機器人?》

二、調用飛書發送消息

自定義機器人添加完成后,就能向其 webhook 地址發送 POST 請求,從而在群聊中推送消息了。支持推送的消息格式有文本、富文本、圖片消息,也可以分享群名片等。

參數msg_type代表消息類型,可傳入:text(文本)/ post(富文本)/ image(圖片)/ share_chat(分享群名片)/ interactive(消息卡片),可參照飛書接口文檔:https://open.feishu.cn/document/ukTMukTMukTM/uUjNz4SN2MjL1YzM發送文本消息請求的消息體示例:

{'open_id':'ou_5ad573a6411d72b8305fda3a9c15c70e','root_id':'om_40eb06e7b84dc71c03e009ad3c754195','chat_id':'oc_5ad11d72b830411d72b836c20','user_id': '92e39a99','email':'fanlv@gmail.com','msg_type':'text','content':{'text':'text content<at user_id='ou_88a56e7e8e9f680b682f6905cc09098e'>test</at>'}}

Curl 請求 Demo

curl -X POST https://open.feishu.cn/open-apis/message/v4/send/ -H ’Authorization: Bearer t-fee42159a366c575f2cd2b2acde2ed1e94c89d5f’ -H ’Content-Type: application/json’ -d ’{ 'chat_id': 'oc_f5b1a7eb27ae2c7b6adc2a74faf339ff', 'msg_type': 'text', 'content': { 'text': 'text content<at user_id='ou_88a56e7e8e9f680b682f6905cc09098e'>test</at>' }}’

使用Python封裝飛書請求

接下來我們以發送文本格式消息類型,進行以下封裝,上代碼:

# -*- coding:utf-8 -*-’’’@File : feiShuTalk.py @Time : 2020/11/9 11:45 @Author : DY@Version : V1.0.0@Desciption: ’’’import requestsimport jsonimport loggingimport timeimport urllibimport urllib3urllib3.disable_warnings()try: JSONDecodeError = json.decoder.JSONDecodeErrorexcept AttributeError: JSONDecodeError = ValueErrordef is_not_null_and_blank_str(content): ''' 非空字符串 :param content: 字符串 :return: 非空 - True,空 - False ''' if content and content.strip(): return True else: return Falseclass FeiShutalkChatbot(object): def __init__(self, webhook, secret=None, pc_slide=False, fail_notice=False): ’’’ 機器人初始化 :param webhook: 飛書群自定義機器人webhook地址 :param secret: 機器人安全設置頁面勾選“加簽”時需要傳入的密鑰 :param pc_slide: 消息鏈接打開方式,默認False為瀏覽器打開,設置為True時為PC端側邊欄打開 :param fail_notice: 消息發送失敗提醒,默認為False不提醒,開發者可以根據返回的消息發送結果自行判斷和處理 ’’’ super(FeiShutalkChatbot, self).__init__() self.headers = {’Content-Type’: ’application/json; charset=utf-8’} self.webhook = webhook self.secret = secret self.pc_slide = pc_slide self.fail_notice = fail_notice def send_text(self, msg, open_id=[]): ''' 消息類型為text類型 :param msg: 消息內容 :return: 返回消息發送結果 ''' data = {'msg_type': 'text', 'at': {}} if is_not_null_and_blank_str(msg): # 傳入msg非空 data['content'] = {'text': msg} else: logging.error('text類型,消息內容不能為空!') raise ValueError('text類型,消息內容不能為空!') logging.debug(’text類型:%s’ % data) return self.post(data) def post(self, data): ''' 發送消息(內容UTF-8編碼) :param data: 消息數據(字典) :return: 返回消息發送結果 ''' try: post_data = json.dumps(data) response = requests.post(self.webhook, headers=self.headers, data=post_data, verify=False) except requests.exceptions.HTTPError as exc: logging.error('消息發送失敗, HTTP error: %d, reason: %s' % (exc.response.status_code, exc.response.reason)) raise except requests.exceptions.ConnectionError: logging.error('消息發送失敗,HTTP connection error!') raise except requests.exceptions.Timeout: logging.error('消息發送失敗,Timeout error!') raise except requests.exceptions.RequestException: logging.error('消息發送失敗, Request Exception!') raise else: try:result = response.json() except JSONDecodeError:logging.error('服務器響應異常,狀態碼:%s,響應內容:%s' % (response.status_code, response.text))return {’errcode’: 500, ’errmsg’: ’服務器響應異常’} else:logging.debug(’發送結果:%s’ % result)# 消息發送失敗提醒(errcode 不為 0,表示消息發送異常),默認不提醒,開發者可以根據返回的消息發送結果自行判斷和處理if self.fail_notice and result.get(’errcode’, True): time_now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) error_data = { 'msgtype': 'text', 'text': { 'content': '[注意-自動通知]飛書機器人消息發送失敗,時間:%s,原因:%s,請及時跟進,謝謝!' % (time_now, result[’errmsg’] if result.get(’errmsg’, False) else ’未知異常’) }, 'at': { 'isAtAll': False } } logging.error('消息發送失敗,自動通知:%s' % error_data) requests.post(self.webhook, headers=self.headers, data=json.dumps(error_data))return result

封裝后我們就可以直接調用封裝的類,進行消息代碼發送;執行以下代碼后,就可以使用飛書發送消息咯,是不是很簡單。

webhook = 'https://open.feishu.cn/open-apis/bot/v2/hook/1d7b5d0c-03a5-44a9-8d7a-4d09b24bfea1' feishu = FeiShutalkChatbot(webhook) feishu.send_text('重慶百貨-新世紀魚胡路店內商品’1000800370-牛心白 約1kg’在商詳[8]和榜單[7]中排名不一致')

以上就是Python調用飛書發送消息的示例的詳細內容,更多關于python 飛書發送信息的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 深夜福利视频在线观看免费播放 | free性丰满白嫩白嫩的hd | 高清欧美不卡一区二区三区 | 一本久久a久久精品亚洲 | 国内精品成人女用 | 欧美很黄视频在线观看 | 欧美一级二级三级视频 | 欧美成人欧美激情欧美风情 | 亚洲精品资源网在线观看 | 国产欧美日韩综合一区二区三区 | 日本高清va不卡视频在线观看 | 武松金莲肉体交战在线观看 | 日韩欧美不卡在线 | 99久久精品自在自看国产 | 一级视频在线免费观看 | 一级做性色a爰片久久毛片免费 | 日韩欧美在线精品 | 俄罗斯美女在线观看一区 | 欧美日韩一区二区三区免费 | 欧美一级日韩一级 | 欧美日韩不卡一区 | 全部精品孕妇色视频在线 | 免费一级性片 | 日本天堂在线视频 | 国产一区国产二区国产三区 | 在线免费观看一区二区三区 | 中美日韩在线网免费毛片视频 | 日韩毛片 | 久久加勒比 | 国产高中生粉嫩无套第一次 | 67id人成国产在线 | 91久久国产综合精品女同国语 | 黄网在线 | 爽爽在线| 亚洲精品国自产拍在线观看 | 国产亚洲欧美ai在线看片 | 久久黄色视屏 | 韩国免费毛片 | 国产精品合集久久久久青苹果 | 美女福利视频午夜在线 | 国产专区一va亚洲v天堂 |