最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python微信公众平台企业号用于监控报警探究
时间:2015-04-28 编辑:简简单单 来源:一聚教程网
1.公众号,公众号使用模板信息可以给用户发送10w调每天的信息 2.企业号,给员工无限制的发送信息:
企业号的功能:
企业号适用于企业与员工或上下游供应链之间的沟通。
1、企业可以主动发消息给员工,消息量不受限制。
2、企业号出现在微信会话列表首层,在通讯录中有单独的分类。
3、可以自定义菜单。
4、拥有多个子号。
5、更加关注与安全,需要双方认证。
作为一个强迫症控,那肯定得用企业号啊,这里需要老板的支持,企业号不是自己能申请的,还好我老板高瞻远瞩,已经申请好了。(嘻嘻,希望老板能看到)
扫描二维码进行登录:https://qy.weixin.qq.com/
登陆以后新建应用:
输入应用名称为监控报警就新建了一个叫做监控报警的应用,新建完成后查看应用id, 这里后面要用。
设置管理员:
指定应用的管理员。点击设置-> 权限管理 -> 管理 -> 新建管理组 --> 添加管理员和权限。然后就会获得corpid 和 sceret。这里后面也要用。
开发
1、阅读开发文档。文档位置:微信开发文档
我只读了建立连接、管理通讯录、发送消息。好了,发个报警够了,很简单。
2、建立连接获取access_token。
这个token是一个有有效时间的密钥用于后续操作认证。
Https请求方式: GET
https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=id&corpsecret=secrect
正常情况下就会反馈一个json并得到access_token
根据文档获取玩access_token后就可以发送消息了。
我写的脚本代码如下:
#!/usr/bin/env python
# coding:utf-8
import sys
import urllib2
import time
import json
import requests
reload(sys)
sys.setdefaultencoding('utf-8')
title = sys.argv[2] # 位置参数获取title 适用于zabbix
content = sys.argv[3] # 位置参数获取content 适用于zabbix
class Token(object):
# 获取token
def __init__(self, corpid, corpsecret):
self.baseurl = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}'.format(
corpid, corpsecret)
self.expire_time = sys.maxint
def get_token(self):
if self.expire_time > time.time():
request = urllib2.Request(self.baseurl)
response = urllib2.urlopen(request)
ret = response.read().strip()
ret = json.loads(ret)
if 'errcode' in ret.keys():
print >> ret['errmsg'], sys.stderr
sys.exit(1)
self.expire_time = time.time() + ret['expires_in']
self.access_token = ret['access_token']
return self.access_token
def send_msg(title, content):
# 发送消息
corpid = "" # 填写自己应用的
corpsecret = "" # 填写自己应用的
qs_token = Token(corpid=corpid, corpsecret=corpsecret).get_token()
url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={0}".format(
qs_token)
payload = {
"touser": "user1|user2",
"msgtype": "text",
"agentid": "3",
"text": {
"content": "标题:{0}\n 内容:{1}".format(title, content)
},
"safe": "0"
}
ret = requests.post(url, data=json.dumps(payload, ensure_ascii=False))
print ret.json()
if __name__ == '__main__':
# print title, content
send_msg(title, content)
-
上一个: python中验证ip的有效性正则
-
下一个: PHP设计模式装饰器模式实例
相关文章
- 微信公众平台改名原名称释放问题 07-17
- 微信公众平台如何定时群发 06-29
- 微信公众平台扫一扫条码如何入驻 06-08
- 微信公众平台如何申请 微信公众平台申请方法详解 08-11
- 如何查看微信公众平台的微信认证方式 06-23
- 微信公众平台回复消息的教程 10-26