231232133 发表于 2016-11-15 08:39:51

python实现微信企业号的文本消息推送

                      【企业号的创建、企业号应用的创建、组、tag、part就不赘述了,一搜一大堆,但是网上拿的那些个脚本好多都不好使,所以自己修了一个】
坦率的讲,这个脚本是用来作为zabbix的通知媒介脚本的,本人是个菜鸟,如果哪里不对,大神们不要笑话,python也处于学习阶段,如果有哪些地方不合理,很希望可以不吝赐教,废话不多说,脚本奉上:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python
# _*_coding:utf-8 _*_
import urllib2
import json
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def gettoken(corpid, corpsecret):
    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
    try:
      token_file = urllib2.urlopen(gettoken_url)
    except urllib2.HTTPError as e:
      print e.code
      print e.read().decode("utf8")
      sys.exit()
    token_data = token_file.read().decode('utf-8')
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json['access_token']
    return token
def senddata(access_token, user, party, agent, subject, content):
    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
    send_values = "{\"touser\":\"" + user + "\",\"toparty\":\"" + party + "\",\"totag\":\"\",\"msgtype\":\"text\",\"agentid\":\"" + agent + "\",\"text\":{\"content\":\"" + subject + "\n" + content + "\"},\"safe\":\"0\"}"
    send_request = urllib2.Request(send_url, send_values)
    response = json.loads(urllib2.urlopen(send_request).read())
    print str(response)
   
   
if __name__ == '__main__':
    user = str(sys.argv)# 参数1:发送给用户的账号,必须关注企业号,并对企业号有发消息权限
    party = str(sys.argv)# 参数2:发送给组的id号,必须对企业号有权限
    agent = str(sys.argv)# 参数3:企业号中的应用id
    subject = str(sys.argv)# 参数4:标题【消息内容的一部分】
    content = str(sys.argv)# 参数5:文本具体内容
    corpid = 'CorpID'# CorpID是企业号的标识
    corpsecret = 'corpsecretSecret'# corpsecretSecret是管理组凭证密钥
    try:
      accesstoken = gettoken(corpid, corpsecret)
      senddata(accesstoken, user, party, agent, subject, content)
    except Exception, e:
      print str(e) + "Error Please Check \"corpid\" or \"corpsecret\" Config"





另外:图片推送、图文推送的脚本其实已经完成了,只是没有整理,十分混乱,等时间空下来,整理一下再发吧


                   

页: [1]
查看完整版本: python实现微信企业号的文本消息推送