buhao 发表于 2018-10-25 10:16:07

python调用mongodb发送微信企业号

python2.x  

  
注意:data变量里, agent_id为刚刚创建的应用id(可在web页面看到)
  

  
toparty即为目标部门,或者可以用touser,totag指定目标账户
  

  
比较简单的调用,已实测,可以使用。
  

  

  

  
#coding:utf-8
  
import sys
  
import requests
  
import json
  
from pymongo import MongoClient
  
reload(sys)
  
sys.setdefaultencoding('utf-8')
  
class Weixin(object):
  
    def __init__(self, corp_id, corp_secret):
  
      self.token_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s' %(corp_id, corp_secret)
  
      self.send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token='
  
    def get_token(self):
  
      try:
  
            r = requests.get(self.token_url, timeout=10)
  
      except Exception as e:
  
            print e
  
            sys.exit(1)
  
      if r.status_code == requests.codes.ok:
  
            data = r.json()
  
            if data.get('errcode'):
  
                print data['errmsg']
  
                sys.exit(1)
  
            return data['access_token']
  
      else:
  
            print r.status_code
  
            sys.exit(1)
  
    def send(self,message):
  
      url = self.send_url + self.get_token()
  
      data = {
  
         "touser": "hequan2011",
  
         "msgtype": "text",
  
         "agentid": "0",
  
         "text": {
  
               "content": message
  
         },
  
         "safe":"0"
  
      }
  
      send_data = json.dumps(data,ensure_ascii=False)
  
      try:
  
            r = requests.post(url, send_data)
  
      except Exception, e:
  
            print e
  
            sys.exit(1)
  
      if r.status_code == requests.codes.ok:
  
            print r.json()
  
      else:
  
            print r.code
  
            sys.exit(1)
  

  

  
corpid = 'xxxxxxxxxxx'
  
corpsecret = 'xxxxxxxxxxxxxxxxx'
  
client = MongoClient('mongodb://user:password@127.0.0.1:27017/')
  

  
db = client.ku
  
collection = db.biao
  
a = []
  
for data in collection.find():
  
    a.append(data)
  
l = a
  
g = l
  
z = str(g["name"])
  
z1 = int(g["jg"])
  
printz
  

  

  
msg = "1:{0}\n 2:{1}\n".format(z,z1)
  

  
w = Weixin(corpid,corpsecret)
  
w.send(msg)


页: [1]
查看完整版本: python调用mongodb发送微信企业号