标签:__ 07 timestamp dd day07 sign 发送 secret string
import requests
import time
import hmac
import hashlib
import base64
import urllib.parse
url = "https://oapi.dingtalk.com/robot/send"
# 签名 接口文档 在群机器人-自定义机器人接入
def get_dd_sign():
timestamp = str(round(time.time() * 1000))
secret = 'SECbeca7f462e42a924a9150ad8bbc69b87204241d94b8734678dd4a56396793380'
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))
return timestamp, sign
# 该群机器人发送 接口文档 在服务端API-消息通知-消息类型与数据格式
def send_dd_msg(msg, at=None, at_all=False):
data = {
"msgtype": "text", # 消息类型
"text": {
# "content": "童鞋测试用一哈"
"content":msg
}, # 发送消息
"at": {
# "atMobiles": ["13049484306"],
"atMobiles":at,
"isAtAll": at_all
} # @某个人或者全部
}
timestamp, sign = get_dd_sign()
params = {
"access_token": "bdfc2cfb8f5b8546910fba1790575ae2fa0e39d47da75684f48eecd62404ad66",
"timestamp": timestamp,
"sign": sign
}
try:
res = requests.post(url, json=data, params=params)
print(res.json())
except:
print("钉钉消息没有发送成功")
else:
if res.json().get("errcode") == 0:
return True
if __name__ == '__main__':
content="童鞋测试用一哈"
at = ["18566296129"]
send_dd_msg(content,at)
标签:__,07,timestamp,dd,day07,sign,发送,secret,string 来源: https://www.cnblogs.com/huyuemei/p/14881252.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。