python3微信企业号 发送图文

2020-01-03 11:14:36 浏览数 (1)

代码语言:javascript复制
本例 只适用于企业号,公众号没试,可自行测试,方法差不多。有事找官网开发文档。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import urllib.request

ID="xxxxxxxxxxxx"  
Secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

UserID = "hequan2011"##成员ID列表(消息接收者,多个接收者用'|'分隔,最多支持1000个)。特殊情况:指定为@all,则向关注该企业应用的全部成员发送
PartyID=17  ##部门ID列表,多个接收者用‘|’分隔,最多支持100个。当touser为@all时忽略本参数
AppID = 0  ##应用ID,默认是 企业小助手  企业应用的id,整型。可在应用的设置页面查看



def get_token():  ##获取TOKEN
    gurl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={}&corpsecret={}".format(ID, Secret)
    r=requests.get(gurl)
    dict_result= (r.json())
    return dict_result['access_token']
def get_media_ID(path):  ##上传到临时素材  图片ID
    Gtoken = get_token()
    img_url = "https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={}&type=p_w_picpath".format(Gtoken)
    files = {'p_w_picpath': open(path, 'rb')}
    r = requests.post(img_url, files=files)
    re = json.loads(r.text)
    return re['media_id']
##


 
def  send_text(text):  ##发送文字
    post_data = {}
    msg_content = {}
    msg_content['content'] = text  ## 消息内容,最长不超过2048个字节
    post_data['touser'] = UserID
    post_data['toparty'] = PartyID
    post_data['msgtype'] = 'text'
    post_data['agentid'] = AppID
    post_data['text'] = msg_content
    post_data['safe'] = '0'  #表示是否是保密消息,0表示否,1表示是,默认0
    Gtoken = get_token()
    purl1="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={}".format(Gtoken)
    json_post_data = json.dumps(post_data,False,False)
    request_post = urllib.request.urlopen(purl,json_post_data.encode(encoding='UTF8'))
    return request_post
    
    
    
def  send_tu(path):  ##发送图片
    img_id = get_media_ID(path)
    post_data1 = {}
    msg_content1 = {}
    msg_content1['media_id'] = img_id
    post_data1['touser'] = UserID
    post_data1['toparty'] = PartyID
    post_data1['msgtype'] = 'p_w_picpath'
    post_data1['agentid'] = AppID
    post_data1['p_w_picpath'] = msg_content1
    post_data1['safe'] = '0'
    Gtoken = get_token()
    purl2="https://img.yuanmabao.com/zijie/pic/2020/01/03/043idgc5tfz")  ##图片目录
send_text("123-何全")  ##文字内容

0 人点赞