pythonエンタープライズ微信警報サービス
3097 ワード
1.企業の微信バックグラウンドにログインする
登録できない場合:https://work.weixin.qq.com/wework_admin/register_wx?from=myhome_mp_home
2.部門の作成:連絡先--部門の追加(この部門のメンバーにアラームメッセージを提供)--メンバーの追加--部門idの記録
3.≪アプリケーションの作成|Create Application|ldap≫:≪管理の適用|Apply Management|ldap≫:≪セルフ・ビルド|Self-Build|ldap≫:≪アプリケーションの作成|Create Application|ldap≫:作成した部門を選択する情報を入力してagent_を記録します.id,secret
4.企業id:私の企業記録企業id
demo:wechat.py
登録できない場合:https://work.weixin.qq.com/wework_admin/register_wx?from=myhome_mp_home
2.部門の作成:連絡先--部門の追加(この部門のメンバーにアラームメッセージを提供)--メンバーの追加--部門idの記録
3.≪アプリケーションの作成|Create Application|ldap≫:≪管理の適用|Apply Management|ldap≫:≪セルフ・ビルド|Self-Build|ldap≫:≪アプリケーションの作成|Create Application|ldap≫:作成した部門を選択する情報を入力してagent_を記録します.id,secret
4.企業id:私の企業記録企業id
demo:wechat.py
import logging
import requests
logger = logging.getLogger(__name__)
class Wechat(object):
"""
"""
def __init__(self, appid, secret, party_id, agent_id):
self.appid = appid
self.secret = secret
#
# self.get_token_api = "https://api.weixin.qq.com/cgi-bin/token"
#
self.get_token_api = "https://qyapi.weixin.qq.com/cgi-bin/gettoken"
self.send_msg_api = "https://qyapi.weixin.qq.com/cgi-bin/message/send"
self.token = self.get_token()
self.party_id = party_id
self.agent_id = agent_id
def get_token(self):
"""
token,
"""
params = {
"corpid": self.appid,
"corpsecret": self.secret
}
resp = requests.get(self.get_token_api, params=params)
data = resp.json()
token = data.get("access_token")
if not token:
raise UserWarning("get token error detail: %s" % data)
logger.info("get token successed")
return token
def send_msg(self, msg, party_id, agent_id):
"""
@party_id: id
@agent_id: id
@msg:
"""
params = {
"access_token": self.token,
}
body = {
"toparty": party_id,
"msgtype": "text",
"agentid": agent_id,
"text": {
"content": msg,
},
}
resp = requests.post(self.send_msg_api, params=params, json=body)
data = resp.json()
code = data.get("errcode")
if code == 0:
logger.info("send msg successed")
return
if code == 42001:
logger.warning("token expires")
self.token = self.get_token()
return self.send_msg(party_id, agent_id, msg)
else:
logger.error("send msg error detail: %s" % data)
def alarm(self, msg):
"""
"""
self.send_msg(msg, self.party_id, agent_id)
# id
appid = "ww9f17adaf3"
# id
agent_id = "1000002"
# id
party_id = 2
#
secret = "uJW07AcQFaK7cSwk9Du0o6FTnOTtz2IiMs8h"
wechat = Wechat(appid=appid, secret=secret, party_id=party_id, agent_id=agent_id)
if __name__ == '__main__':
wechat.alarm("This is a test")