釘釘常用的消息類型與數據格式總結
作者:Marionxue
本篇帶給大家記錄發送釘釘的幾種格式消息的使用方式。希望能夠幫助到你。
記錄發送釘釘的幾種格式消息的使用方式。
目前通過webhook向釘釘發送消息,必須要有安全配置:
- 自定義關鍵詞:最多可以設置?
?10?
?個關鍵詞,消息中??至少包含其中1個關鍵詞?
?才可以發送成功。 - 加簽:就是通過?
?timestamp?
?和??secret?
?進行拼接后得到的一個字符串
- timestamp: 當前時間戳,單位是毫秒,與請求調用時間誤差不能超過1小時。
- secret: 密鑰,機器人安全設置頁面,加簽一欄下面顯示的SEC開頭的字符串。
- IP地址段: 設置IP地址白名單,僅允許白名單內的地址才能發起請求。
下面記錄一個使用??Python?
?編寫的生成加簽字符串的腳本:
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
#webhook機器人設置界面上復制的加簽
secret = 'SEC10d6e79b42bd94be0d0d603843651aa2ccd7186db6edbcxxxxxxxxxxxxxcf421cd'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
#webhook機器人設置界面上復制的Webhook地址
webhook_url_base = 'https://oapi.dingtalk.com/robot/send?access_token=e9a8118c8a3dcxxxxxxxxxx685fab41df25b9dc865fd74'
webhook_url = '{}×tamp={}&sign={}'.format(webhook_url_base,timestamp,sign)
print(webhook_url)
準備好加簽后的webhook地址后,就可以通過http請求,向釘釘模擬發送消息了。
釘釘消息類型和格式有以下幾種:
Text文本類型
先了解下消息體字段含義:
然后通過postman結合上面我們通過Python生成的Webhook地址即可模擬發送消息了:
- 如果想要在群里單獨艾特某人,需要在?
?content?
?中使用??@183xxxxxxxx?
?即可。 - 如果想要群里艾特所有人,只需要保留?
?at.isAtAll?
?即可,??at.atMobiles?
?則不需配置。 - 如果想要逐個艾特?
?at.atMobiles?
?里面的人,則不要在??content?
?中配置??@183xxxxxxxx?
?格式即可,如下:
大概也就這幾種艾特的方式或者情景,如有其他的,可以自行測試研究即可。當然其它幾種消息類型也是這樣;
看下效果圖如下:
Markdown文本類型
消息預覽:
Link文本消息
消息預覽:
ActionCard消息類型
消息預覽:
FreeCard文本消息
大概就這么多了, 好了這些格式你了解了么?
責任編輯:姜華
來源:
云原生生態圈