需求:
在windows10下面,创建一个定时任务,定时发送一条钉钉消息到钉钉群。
需求分解:
1、利用Python发送钉钉消息到钉钉群
2、Windows10 下面创建定时任务
实现:
1、利用Python发送钉钉消息到钉钉群
import datetime
import json
import urllib.request
def send_request(url, datas):
#传入url和内容发送请求
# 构建一下请求头部
header = {
"Content-Type": "application/json",
"Charset": "UTF-8"
}
sendData = json.dumps(datas) # 将字典类型数据转化为json格式
sendDatas = sendData.encode("utf-8") # python3的Request要求data为byte类型
# 发送请求
request = urllib.request.Request(url=url, data=sendDatas, headers=header)
# 将请求发回的数据构建成为文件格式
opener = urllib.request.urlopen(request)
# 7、打印返回的结果
print(opener.read())
def main():
#按照钉钉给的数据格式设计请求内容 链接https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p7hJKp&treeId=257&articleId=105735&docType=1
my_data = {
"msgtype":"text",
"text":{
"content":"帅的人,美的人,一定会记得写禅道和OneNote "
},
"at":{
"isAtAll":True
}
}
#你的钉钉机器人url
my_url = "钉钉群对应的机器人URL"
send_request(my_url, my_data)
if __name__ == "__main__":
main();
2、创建定时任务:
我一开始是按照下述文章进行创建:
创建Windows定时任务:https://jingyan.baidu.com/article/4b52d702a89aadfc5c774b82.htmlml
但是一直报错,先是说:计划任务:此任务要求指定的用户帐户以批处理作业权限登录
于是就修改了组策略:http://blog..com/alirentk/1122966,如果找不到组策略,可以在运行框中输入“gpedit.msc ”,点击确定或者直接按键盘上的回车键。
后来又说我登陆用户的权限不够,那就 提升权限,大家自行google。
然后经过漫长的时间,我执行运行,但是bat并没有跑起来。 于是我开始弃用这种方式,直接使用命令行:
schtasks /create /TN dingdingding /ST 16:09 /sc DAILY /TR "F:\github\dingding\remind\ontime.bat"
关于schtasks的操作,大家自行google。 在方式下终于成功了,看来CMD才是最靠谱的。