python實現微信企業號的文本消息推送

【企業號的創建、企業號應用的創建、組、tag、part就不贅述了,一搜一大堆,但是網上拿的那些個腳本好多都不好使,所以自己修了一個】

坦率的講,這個腳本是用來作爲zabbix的通知媒介腳本的,本人是個菜鳥,如果哪裏不對,大神們不要笑話,python也處於學習階段,如果有哪些地方不合理,很希望可以不吝賜教,廢話不多說,腳本奉上:

#!/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])  # 參數1:發送給用戶的賬號,必須關注企業號,並對企業號有發消息權限
    party = str(sys.argv[2])  # 參數2:發送給組的id號,必須對企業號有權限
    agent = str(sys.argv[3])  # 參數3:企業號中的應用id
    subject = str(sys.argv[4])  # 參數4:標題【消息內容的一部分】
    content = str(sys.argv[5])  # 參數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"


另外:圖片推送、圖文推送的腳本其實已經完成了,只是沒有整理,十分混亂,等時間空下來,整理一下再發吧



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章