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批量提取word内信息
Aug 09 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python3实现购物车功能
Apr 18 Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
python 抓包保存为pcap文件并解析的实例
Jul 23 Python
selenium+PhantomJS爬取豆瓣读书
Aug 26 Python
Django values()和value_list()的使用
Mar 31 Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 Python
学会Python数据可视化必须尝试这7个库
Jun 16 Python
Python爬虫入门案例之爬取二手房源数据
Oct 16 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
PHP日期处理函数 整型日期格式
2011/01/12 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
php使用正则验证中文
2016/04/06 PHP
PHP中file_put_contents追加和换行的实现方法
2017/04/01 PHP
PHP的curl函数的用法总结
2019/02/14 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
关于vue.js弹窗组件的知识点总结
2016/09/11 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
jquery实现图片无缝滚动 蒙版遮蔽效果
2020/01/11 jQuery
PHP 502bad gateway原因及解决方案
2020/11/13 Javascript
Python内置函数之filter map reduce介绍
2014/11/30 Python
基于Python实现的微信好友数据分析
2018/02/26 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
洲际酒店集团美国官网:IHG美国
2017/11/16 全球购物
实习鉴定范文
2013/12/19 职场文书
宿舍违规检讨书
2014/01/12 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
个人工作主要事迹
2014/05/08 职场文书
出纳2015年度工作总结范文
2015/10/14 职场文书
如何在Python中创建二叉树
2021/03/30 Python