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编码时应该注意的几个情况
Mar 04 Python
python合并文本文件示例
Feb 07 Python
python+django加载静态网页模板解析
Dec 12 Python
解决phantomjs截图失败,phantom.exit位置的问题
May 17 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
python ddt数据驱动最简实例代码
Feb 22 Python
Python+PyQt5实现美剧爬虫可视工具的方法
Apr 25 Python
如何基于python实现归一化处理
Jan 20 Python
Python类及获取对象属性方法解析
Jun 15 Python
python实现梯度下降算法的实例详解
Aug 17 Python
python中编写函数并调用的知识点总结
Jan 13 Python
Python 流媒体播放器的实现(基于VLC)
Apr 28 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邮件类
2007/01/03 PHP
使用php shell命令合并图片的代码
2011/06/23 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php建立Ftp连接的方法
2015/03/07 PHP
关于Laravel Route重定向的一个注意点
2017/01/16 PHP
php安全配置记录和常见错误梳理(总结)
2017/03/28 PHP
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
JavaScript function 的 length 属性使用介绍
2014/09/15 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
2016/06/17 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
浅谈vue的几种绑定变量的值 防止其改变的方法
2018/03/01 Javascript
详解react内联样式使用webpack将px转rem
2018/09/13 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
python实现多层感知器
2019/01/18 Python
python pip源配置,pip配置文件存放位置的方法
2019/07/12 Python
Python 使用 Pillow 模块给图片添加文字水印的方法
2019/08/30 Python
Python3列表List入门知识附实例
2020/02/09 Python
PyCharm GUI界面开发和exe文件生成的实现
2020/03/04 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
HTML5 Canvas绘制五星红旗
2016/05/04 HTML / CSS
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
采购文员岗位职责
2013/11/20 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
信息工作经验交流材料
2014/05/28 职场文书
培训科主任岗位职责
2014/08/08 职场文书
学生会部长竞选稿
2015/11/19 职场文书
创业计划书之水果店
2019/07/18 职场文书