釘釘常用的消息類型與數(shù)據(jù)格式總結(jié)
作者:Marionxue
本篇帶給大家記錄發(fā)送釘釘?shù)膸追N格式消息的使用方式。希望能夠幫助到你。
記錄發(fā)送釘釘?shù)膸追N格式消息的使用方式。
目前通過webhook向釘釘發(fā)送消息,必須要有安全配置:
- 自定義關(guān)鍵詞:最多可以設(shè)置?
?10?
?個關(guān)鍵詞,消息中??至少包含其中1個關(guān)鍵詞?
?才可以發(fā)送成功。 - 加簽:就是通過?
?timestamp?
?和??secret?
?進(jìn)行拼接后得到的一個字符串
- timestamp: 當(dāng)前時間戳,單位是毫秒,與請求調(diào)用時間誤差不能超過1小時。
- secret: 密鑰,機(jī)器人安全設(shè)置頁面,加簽一欄下面顯示的SEC開頭的字符串。
- IP地址段: 設(shè)置IP地址白名單,僅允許白名單內(nèi)的地址才能發(fā)起請求。
下面記錄一個使用??Python?
?編寫的生成加簽字符串的腳本:
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
timestamp = str(round(time.time() * 1000))
#webhook機(jī)器人設(shè)置界面上復(fù)制的加簽
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機(jī)器人設(shè)置界面上復(fù)制的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)
準(zhǔn)備好加簽后的webhook地址后,就可以通過http請求,向釘釘模擬發(fā)送消息了。
釘釘消息類型和格式有以下幾種:
Text文本類型
先了解下消息體字段含義:
然后通過postman結(jié)合上面我們通過Python生成的Webhook地址即可模擬發(fā)送消息了:
- 如果想要在群里單獨(dú)艾特某人,需要在?
?content?
?中使用??@183xxxxxxxx?
?即可。 - 如果想要群里艾特所有人,只需要保留?
?at.isAtAll?
?即可,??at.atMobiles?
?則不需配置。 - 如果想要逐個艾特?
?at.atMobiles?
?里面的人,則不要在??content?
?中配置??@183xxxxxxxx?
?格式即可,如下:
大概也就這幾種艾特的方式或者情景,如有其他的,可以自行測試研究即可。當(dāng)然其它幾種消息類型也是這樣;
看下效果圖如下:
Markdown文本類型
消息預(yù)覽:
Link文本消息
消息預(yù)覽:
ActionCard消息類型
消息預(yù)覽:
FreeCard文本消息
大概就這么多了, 好了這些格式你了解了么?
責(zé)任編輯:姜華
來源:
云原生生態(tài)圈