python使用自定义钉钉机器人的示例代码


Posted in Python onJune 24, 2020

1.添加自定义机器人

python使用自定义钉钉机器人的示例代码

python使用自定义钉钉机器人的示例代码

2.编写python代码请求钉钉机器人所给的webhook

钉钉自定义机器人官方文档

安全方式使用加签的方式:

第一步,把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。

参数 说明
timestamp 当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时
secret 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串
import requests
 
 
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
 
timestamp = str(round(time.time() * 1000))
secret = '加签时生成的密钥'
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))
print(timestamp)
print(sign)

第二步,把 timestamp和第一步得到的签名值拼接到URL中。

参数 说明
timestamp 第一步使用到的时间戳
sign 第一步得到的签名值

https://oapi.dingtalk.com/robot/send?access_token=XXXXXX×tamp=XXX&sign=XXX

第三步,发送请求

url='生成的Webhook×tamp={}&sign={}'.format(timestamp, sign)
 
 
print (url)
headers={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "888"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)

结果:

 python使用自定义钉钉机器人的示例代码

整体代码:

import requests
 
 
#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parse
 
timestamp = str(round(time.time() * 1000))
secret = '加签时生成的密钥'
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))
print(timestamp)
print(sign)
 
 
url='生成的Webhook×tamp={}&sign={}'.format(timestamp, sign)
 
 
print (url)
headers={
 'Content-Type':'application/json'
}
json={"msgtype": "text",
 "text": {
  "content": "测试"
 } }
resp=requests.post(url=url,headers=headers,json=json)
print (resp.text)

到此这篇关于python使用自定义钉钉机器人的示例代码的文章就介绍到这了,更多相关python 自定义钉钉机器人内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单谈谈python中的多进程
Nov 06 Python
python实现图片处理和特征提取详解
Nov 13 Python
浅谈用Python实现一个大数据搜索引擎
Nov 28 Python
Python 在字符串中加入变量的实例讲解
May 02 Python
pytorch训练imagenet分类的方法
Jul 27 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
Python函数生成器原理及使用详解
Mar 12 Python
Python数组拼接np.concatenate实现过程
Apr 18 Python
python对execl 处理操作代码
Jun 22 Python
python与pycharm有何区别
Jul 01 Python
pytorch中的weight-initilzation用法
Jun 24 #Python
pytorch查看模型weight与grad方式
Jun 24 #Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 #Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 #Python
python3.x中安装web.py步骤方法
Jun 23 #Python
python如何删除文件、目录
Jun 23 #Python
TensorFlow保存TensorBoard图像操作
Jun 23 #Python
You might like
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
php制作文本式留言板
2015/03/18 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
Zend Framework框架Smarty扩展实现方法
2016/03/22 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
2020/06/04 NodeJs
[38:54]完美世界DOTA2联赛PWL S2 Rebirth vs LBZS 第一场 11.28
2020/12/01 DOTA
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
详解python中各种文件打开模式
2020/01/19 Python
Python 忽略文件名编码的方法
2020/08/01 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
出国留学自荐信
2013/10/25 职场文书
关于打架的检讨书
2014/01/17 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
总结Python使用过程中的bug
2021/06/18 Python
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers