自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用Python編程簡(jiǎn)單開發(fā)釘釘群機(jī)器人

開發(fā) 后端
雖然釘釘別的功能很雞肋,但是機(jī)器人這個(gè)功能還是讓人眼前一亮,屬于比較極客的功能,它可以將第三方服務(wù)的信息聚合到釘釘群中,實(shí)現(xiàn)信息的自動(dòng)化同步。

[[394599]]

很多公司依靠阿里旗下的辦公軟件釘釘來進(jìn)行遠(yuǎn)程辦公,當(dāng)然了,釘釘這個(gè)產(chǎn)品真的是讓人一言難盡,要多難用有多難用,真的讓人覺得阿里的pm都是才會(huì)設(shè)產(chǎn)品,不過吐槽歸吐槽,該用還得用。

雖然釘釘別的功能很雞肋,但是機(jī)器人這個(gè)功能還是讓人眼前一亮,屬于比較極客的功能,它可以將第三方服務(wù)的信息聚合到釘釘群中,實(shí)現(xiàn)信息的自動(dòng)化同步。

例如:通過聚合Github、Gitlab等源碼管理服務(wù),實(shí)現(xiàn)源碼更新同步;通過聚合Trello、JIRA等項(xiàng)目協(xié)調(diào)服務(wù),實(shí)現(xiàn)項(xiàng)目信息同步;同時(shí),支持Webhook協(xié)議的自定義接入,支持更多可能性,例如:將運(yùn)維報(bào)警提醒、自動(dòng)化測(cè)試的結(jié)果報(bào)告提醒、工作、生活日程安排(上班打卡、下班吃飯、健身、讀書、生日、紀(jì)念日...)等等的提醒,通過自定義機(jī)器人聚合到釘釘中。

不過關(guān)于釘釘機(jī)器人網(wǎng)上的一些攻略年代都比較久遠(yuǎn),代碼很多都基于python2,為了與時(shí)俱進(jìn),我們嘗試用python3.7來開發(fā)配置釘釘自定義機(jī)器人。

首先明確一點(diǎn),釘釘自定義機(jī)器人早就不支持在手機(jī)端創(chuàng)建了,所以打開你的pc端或者mac端的釘釘客戶端,在需要機(jī)器人的聊天群界面,點(diǎn)擊智能群助手。

隨后點(diǎn)擊添加機(jī)器人按鈕

此時(shí)能看到很多已經(jīng)封裝好的第三方機(jī)器人,本次我們選擇自定義機(jī)器人

值得一提的是,釘釘?shù)臋C(jī)器人基于webhook協(xié)議,webhook呢是一個(gè)api概念,是微服務(wù)api的使用范式之一,也被成為反向api,即前端不主動(dòng)發(fā)送請(qǐng)求,完全由后端推送,有機(jī)會(huì)會(huì)專門寫一篇文章闡述webhook

在添加機(jī)器人界面里,填寫一些機(jī)器人的信息

需要注意的是,在安全設(shè)置一欄里,我們選擇加簽的方式來驗(yàn)證,在此說明一下,釘釘機(jī)器人的安全策略有三種,第一種是使用關(guān)鍵字,就是說你推送的消息里必須包含你創(chuàng)建機(jī)器人時(shí)定義的關(guān)鍵字,如果不包含就推送不了消息,第二種就是使用加密簽名,第三種是定義幾個(gè)ip源,非這些源的請(qǐng)求會(huì)被拒絕,綜合來看還是第二種又安全又靈活。

創(chuàng)建成功后,系統(tǒng)會(huì)分配給你一個(gè)webhook地址,這個(gè)地址需要保存一下,地址中有唯一的accesstoken

ok,那么怎么利用這個(gè)地址讓你的機(jī)器人推送消息呢?查看官方文檔:ding-doc.dingtalk.com/doc#/server…

發(fā)現(xiàn)文檔居然還是python2.0的版本,好吧,我們自己來翻譯成3.0

 

  1. import time 
  2. import hmac 
  3. import hashlib 
  4. import base64 
  5. import urllib.parse 
  6.  
  7. timestamp = str(round(time.time() * 1000)) 
  8. secret = 'SEC90485937c351bfaed41fea8eda5f1e155bbf22842d5f9d6871999e05822fd894' 
  9. secret_enc = secret.encode('utf-8'
  10. string_to_sign = '{}n{}'.format(timestamp, secret) 
  11. string_to_sign_enc = string_to_sign.encode('utf-8'
  12. hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest() 
  13. sign = urllib.parse.quote(base64.b64encode(hmac_code)) 
  14. # print(timestamp
  15. # print(sign) 
  16.  
  17.  
  18. import requests,json #導(dǎo)入依賴庫 
  19. headers={'Content-Type''application/json'} #定義數(shù)據(jù)類型 
  20. webhook = 'https://oapi.dingtalk.com/robot/send?access_token=f0ca7636f5812fe4815c97a72de9a7cc780c414c258b6c9a631036b1d0f49e3b×tamp='+timestamp+"&sign="+sign 
  21. #定義要發(fā)送的數(shù)據(jù) 
  22. #"at": {"atMobiles""['"+ mobile + "']" 
  23. data = { 
  24. "msgtype""text"
  25. "text": {"content"'都誰沒加到群里來?小心升不了班'}, 
  26. "isAtAll"True
  27. res = requests.post(webhook, data=json.dumps(data), headers=headers) #發(fā)送post請(qǐng)求 
  28.  
  29. print(res.text) 

 

推送效果是下面這樣的:

 

責(zé)任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2020-04-14 15:33:37

Python 釘釘機(jī)器人

2021-06-02 08:47:03

Zabbix5.2釘釘機(jī)器人告警圖運(yùn)維

2023-02-13 07:40:35

ChatGPT釘釘機(jī)器人

2023-04-28 10:15:20

2021-04-18 10:34:28

Spring Clou郵件釘釘

2022-07-06 08:34:17

前端單測(cè)項(xiàng)目

2020-02-17 15:17:57

釘釘

2010-03-11 16:22:08

Python教程

2021-05-29 14:14:16

阿里云釘釘低代碼開發(fā)

2020-03-26 09:00:16

機(jī)器人阿里智能

2021-05-07 13:20:39

Python機(jī)器人編程語言

2021-08-06 06:31:53

Facebook開源機(jī)器人開發(fā)平臺(tái)

2018-08-10 12:56:00

大數(shù)據(jù)

2023-08-22 20:48:06

模型釘釘阿里云

2018-06-08 16:48:09

PythonQQ機(jī)器人

2024-02-02 09:36:14

自定義排序釘釘群

2020-06-10 14:01:46

阿里云釘釘Windows

2021-10-18 07:23:36

釘釘打卡開發(fā)者

2022-12-06 08:00:16

awscli工具監(jiān)控

2020-10-15 15:42:00

人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)