zoukankan      html  css  js  c++  java
  • 02:消息推送

    目录:企业微信API其他篇

    01: 企业微信API开发前准备

    02:消息推送

    03: 通讯录管理

    04:应用管理

    目录:

    1.1 概述     返回顶部

      官方文档http://work.weixin.qq.com/api/doc#12739

    1.2 发送应用消息     返回顶部

      参考文档http://work.weixin.qq.com/api/doc#10167

    # -*- coding:UTF-8 -*-
    import urllib2
    import urllib
    import json
    
    def get_access_token():
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
        # corpid: 每个企业都拥有唯一的corpid       corpsecret: 自建应用secret
        para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'tGFtVLxmjxPf6jj2t5SKyqEUYkpCM9e2hw-OrwSQwSg'}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        return ret
    
    token_id = get_access_token().get('access_token')    # 所有请求必须携带access_token值进行身份验证
    data = {
        "touser": "@all",
        "toparty": "",
        "totag": "",
        "msgtype": "text",
        "agentid": 1000002,
        "text": {
            "content": "测试发送信息"
        },
        "safe": 0
    }
    
    def send_msg(token_id,data):
        headers = {'Content-Type': 'application/json'}
        url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s"%(token_id)
        request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
        response = urllib2.urlopen(request)
        print response.read()        # 返回结果:{"errcode":0,"errmsg":"ok","invaliduser":""}
    
    send_msg(token_id,data)
    给指定人员/组 发送消息

    1.3 接收消息与事件     返回顶部

      1、概述 & 接收消息前准备

          官方文档: http://work.weixin.qq.com/api/doc#12977

    1.4 发消息到群聊会话     返回顶部

      1、概述 & 接收消息前准备

          官方文档: http://work.weixin.qq.com/api/doc#13308

      2、 创建群聊会话

          官方文档: http://work.weixin.qq.com/api/doc#13288

    # -*- coding:UTF-8 -*-
    import urllib2
    import urllib
    import json
    
    def get_access_token():
        '''获取认证access_token值'''
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
        # corpid: 每个企业都拥有唯一的corpid       corpsecret: 自建应用secret
        para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'tGFtVLxmjxPf6jj2t5SKyqEUYkpCM9e2hw-OrwSQwSg'}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        return ret
    
    token_id = get_access_token().get('access_token')
    data = {
        "name" : "python交流群",        # 群聊名 (选填)
        "owner" : "XiaoNaiQiang",      # 指定群主的id (选填)
        "userlist" : ["XiaoNaiQiang", "ZhangPengPeng", ],    # 群成员id列表,至少2人(必填)
    }
    
    print token_id
    def create_group(token_id,data):
        '''创建群会话
        :param token_id:  用于认证的access_token
        :param data:     提交创建群会话的数据
        '''
        headers = {'Content-Type': 'application/json'}
        url = "https://qyapi.weixin.qq.com/cgi-bin/appchat/create?access_token=%s"%(token_id)
        request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
        response = urllib2.urlopen(request)
        print response.read()        # 返回结果:{"errcode":0,"errmsg":"ok","chatid":"16894972527282740677"}
    
    create_group(token_id,data)
    创建群会话

      3、修改群聊会话

          官方文档http://work.weixin.qq.com/api/doc#13292

    # -*- coding:UTF-8 -*-
    import urllib2
    import urllib
    import json
    
    def get_access_token():
        '''获取认证access_token值'''
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
        # corpid: 每个企业都拥有唯一的corpid       corpsecret: 自建应用secret
        para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'tGFtVLxmjxPf6jj2t5SKyqEUYkpCM9e2hw-OrwSQwSg'}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        return ret
    
    token_id = get_access_token().get('access_token')
    data = {
        "chatid" : "16894972527282740677",            # 群聊id (必填)
        # "name" : "NAME",               # 新的群聊名(选填)
        "owner" : "XiaoNaiQiang",            # 新群主的id(选填)
        "add_user_list" : ["DiYiShuai"],     # 添加成员的id列表(选填)
        # "del_user_list" : []                # 踢出成员的id列表
    }
    
    print token_id
    def update_group(token_id,data):
        '''修改群会话
        :param token_id:  用于认证的access_token
        :param data:     提交修改会话的数据
        '''
        headers = {'Content-Type': 'application/json'}
        url = "https://qyapi.weixin.qq.com/cgi-bin/appchat/update?access_token=%s"%(token_id)
        request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
        response = urllib2.urlopen(request)
        print response.read()        # 返回结果:{"errcode":0,"errmsg":"ok"}
    
    update_group(token_id,data)
    修改群聊会话

      4、获取群聊会话

          官方文档http://work.weixin.qq.com/api/doc#13293

    # -*- coding:UTF-8 -*-
    import urllib2
    import urllib
    import json
    
    def get_access_token():
        '''获取认证access_token值'''
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
        # corpid: 每个企业都拥有唯一的corpid       corpsecret: 自建应用secret
        para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'tGFtVLxmjxPf6jj2t5SKyqEUYkpCM9e2hw-OrwSQwSg'}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        return ret
    
    token_id = get_access_token().get('access_token')
    
    def get_group_info(token_id,chatid):
        ''' 获取群会话信息
        :param token_id:  用于认证的access_token
        :param chatid:   刚刚新建群会话生成的chatid
        '''
        url = 'https://qyapi.weixin.qq.com/cgi-bin/appchat/get?'
        para = {'access_token': token_id, 'chatid': chatid}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        print ret
    
    get_group_info(token_id,"16894972527282740677")     # 这里的chatid是我们刚刚创建群会话设置的或随机生成的
    获取群聊会话

      5、应用推送消息

          官方文档http://work.weixin.qq.com/api/doc#13293

    # -*- coding:UTF-8 -*-
    import urllib2
    import urllib
    import json
    
    def get_access_token():
        '''获取认证access_token值'''
        url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?'
        # corpid: 每个企业都拥有唯一的corpid       corpsecret: 自建应用secret
        para = {'corpid':'ww2f9a1a85f1806981','corpsecret':'tGFtVLxmjxPf6jj2t5SKyqEUYkpCM9e2hw-OrwSQwSg'}
        req = urllib2.Request(url + urllib.urlencode(para))
        ret = urllib2.urlopen(req)
        ret = json.loads(ret.read())
        return ret
    
    token_id = get_access_token().get('access_token')
    data = {
        "chatid": "16894972527282740677",      # 群聊id(必填)
        "msgtype":"text",                       # 消息类型(必填)
        "text":{                                # 消息内容(必填)
            "content" : "你的快递已到
    请携带工卡前往邮件中心领取"
        },
        "safe":0                                # 表示是否是保密消息,0表示否,1表示是,默认0(选填)
    }
    
    print token_id
    def send_msg_group(token_id,data):
        '''应用推送消息
        :param token_id:  用于认证的access_token
        :param data:     发送到群会话的数据
        '''
        headers = {'Content-Type': 'application/json'}
        url = "https://qyapi.weixin.qq.com/cgi-bin/appchat/send?access_token=%s"%(token_id)
        request = urllib2.Request(url=url, headers=headers, data=json.dumps(data))
        response = urllib2.urlopen(request)
        print response.read()        # 返回结果:{"errcode":0,"errmsg":"ok"}
    
    send_msg_group(token_id,data)
    应用推送消息
  • 相关阅读:
    Nginx源码编译安装
    nginx版本对比
    k8s中subpath挂载单个文件报错处理
    C++ array 数组函数
    洛谷 P2141
    c++ set容器
    字符串中输出每一个元素的方法
    string中的pop_back()函数
    如何去掉前导0 在字符串中 算法
    pat 乙级1074
  • 原文地址:https://www.cnblogs.com/xiaonq/p/8868326.html
Copyright © 2011-2022 走看看