You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
python-project/api/wechat.py

57 lines
1.6 KiB

#!/usr/bin/python
#-*-coding: utf-8-*-
# by QianFeng.newrain
#
'''
Welcome QianFeng cloud computing
from python2
'''
import urllib
import json
import sys
import time
# 需要修改 此为企业的ID号
CorpID = sys.argv[5]
# 需要修改 应用的ID
Agentid = 1000002
# 需要修改 认证信息,企业ID+认证信息可获取tokent,获取之后向此tokent发送内容
Secret = sys.argv[4]
localtime = time.strftime("[%H:%M:%S]", time.localtime())
class Tencent(object):
def __init__(self,user,title,msg):
# 格式化输出内容:标题+内容
self.MSG = localtime+title+msg
self.User = user
self.url = 'https://qyapi.weixin.qq.com'
self.send_msg = json.dumps({
"touser": self.User,
"msgtype": 'text',
"agentid": Agentid,
"text": {'content': self.MSG},
"safe": 0
})
# 获取tokent
def get_token(self):
token_url = '%s/cgi-bin/gettoken?corpid=%s&corpsecret=%s' % (self.url, CorpID, Secret)
token = json.loads(urllib.urlopen(token_url).read())['access_token']
return token
# 发送信息
def send_message(self):
send_url = '%s/cgi-bin/message/send?access_token=%s' % (self.url,self.get_token())
respone = urllib.urlopen(url=send_url, data=self.send_msg).read()
x = json.loads(respone.decode())['errcode']
if x == 0:
print ('Succesfully')
else:
print ('Failed')
if __name__ == '__main__':
# 创建对象
send_obj = Tencent(sys.argv[1],sys.argv[2],sys.argv[3])
# 调用发送函数
send_obj.send_message()