Python——WeRobot(微信公众号开发) - Go语言中文社区

Python——WeRobot(微信公众号开发)


 

模板消息接口

'''
使用规则
1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
3、在所选择行业的模板库中选用已有的模板进行调用;
4、每个账号可以同时使用25个模板。
5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。
'''


import werobot
import requests,json
robot = werobot.WeRoBot(token='tteexx')
robot.config['APP_SECRET'] = 'fee02e53beed0e49f2c597adcca8cf56'
robot.config['APP_ID'] = 'wx94efe9defbf49573'
client = robot.client
ACCESS_TOKEN = "17_v7LVKYFlHSH5CperVCJQ2TeuzzT_F6oIBVYphwmKyADa3xnjp_GeAX6wxCwpjOMcZvIpzwE1EzNcchtIQh7AHB0W76c7jM2VtQOsBsq9wwbecIF2ARzvIMx0Ng6sbv1sFh5lSycwoTNyCPYbPGFhADACTS"

#————————刷新ACCESS_TOKEN——————————
#判断ACCESS_TOKEN 是不是 42001 ,是说明过期,需要刷新
def access(url,ACCESS_TOKEN):
    url = url + ACCESS_TOKEN
    req = requests.get(url).text
    a = eval(req).get('errcode')
    # print(a)
    if a == "42001":
        ACCESS_TOKEN = client.get_access_token()
    return ACCESS_TOKEN
access(url="https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=",ACCESS_TOKEN=ACCESS_TOKEN)
print(ACCESS_TOKEN)


#———————设置所属行业——————————————————
#assess_token 注意时效 ,行业的参数代码,必选2个行业


url = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token="+ str(ACCESS_TOKEN)
data = {
    "industry_id1": "1",
    "industry_id2": "4"
}
data_json = json.dumps(data)
req = requests.post(url,data_json).text
print(req)


#————————获取设置的行业信息——————————————
#注意assess_token 注意时效

url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=" + str(ACCESS_TOKEN)
req =requests.get(url).text
print(req)


#————————获取行业模板ID——————————————
#template_id_short:模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式

url = "https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=" + str(ACCESS_TOKEN)
data ={"template_id_short":"TM00015"}
req =requests.post(url,data).text
print(req)

#————————获取行业模板列表——————————————

url = "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=" + str(ACCESS_TOKEN)
req =requests.get(url).text
print(req)


#————————删除模板——————————————
#template_id  公众帐号下模板消息ID

url = "https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=" + str(ACCESS_TOKEN)
data ={"template_id" : "Dyvp3-Ff0cnail_CDSzk1fIc6-9lOkxsQE7exTJbwUE"}
req =requests.post(url,data).text
print(req)

#————————发送模板消息——————————————
'''
touser    是    接收者openid
template_id    是    模板ID
url    否    模板跳转链接(海外帐号没有跳转能力)
miniprogram    否    跳小程序所需数据,不需跳小程序可不用传该数据
appid    是    所需跳转到的小程序appid(该小程序appid必须与发模板消息的公众号是绑定关联关系,暂不支持小游戏)
pagepath    否    所需跳转到小程序的具体页面路径,支持带参数,(示例index?foo=bar),暂不支持小游戏
data    是    模板数据
color    否    模板内容字体颜色,不填默认为黑色
'''
url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + str(ACCESS_TOKEN)
data = {
    {
        "touser": "OPENID",
        "template_id": "ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
        "url": "http://weixin.qq.com/download",
        "miniprogram": {
            "appid": "xiaochengxuappid12345",
            "pagepath": "index?foo=bar"
        },
        "data": {
            "first": {
                "value": "恭喜你购买成功!",
                "color": "#173177"
            },
            "keyword1": {
                "value": "巧克力",
                "color": "#173177"
            },
            "keyword2": {
                "value": "39.8元",
                "color": "#173177"
            },
            "keyword3": {
                "value": "2014年9月22日",
                "color": "#173177"
            },
            "remark": {
                "value": "欢迎再次购买!",
                "color": "#173177"
            }
        }
    }
}
req =requests.post(url,data).text
print(req)
View Code

 

自定义菜单栏

 1 #自定义菜单栏
 2 from werobot import WeRoBot
 3 import requests
 4 #定义app_id,app_secret
 5 robot = WeRoBot(token='tteexx',app_id='wx94efe9defbf49573',app_secret= 'fee02e53beed0e49f2c597adcca8cf56')
 6 #继承client的方法
 7 client = robot.client
 8 #获取acceaccess token
 9 acceaccess_token = client.grant_token()
10 #刷新acceaccess token
11 acceaccess_token = client.get_access_token()
12 #自定义菜单地址
13 url = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' + str(acceaccess_token)
14 #自定义菜单目录
15 menu = {
16     "button":[
17     {
18         "type": "view",
19         "name": "百度",
20         "url": "http://www.baidu.com",
21     },
22     {
23         "name": "腾讯",
24         "sub_button": [
25             {
26                 "type": "view",
27                 "name": "腾讯主页",
28                 "url": "http://www.tencent.com"
29             },
30             {
31                 "type": "view",
32                 "name": "腾讯招聘",
33                 "url" : "https://join.qq.com/"
34             },
35             {
36                 "type": "view",
37                 "name": "腾讯网",
38                 "url": "https://www.qq.com/"
39             },
40             {
41                 "type": "view",
42                 "name": "腾讯视频",
43                 "url": "https://v.qq.com/"
44             }
45         ]
46     },
47     {
48         "name": "博客园",
49         "sub_button": [
50             {
51                 "type": "view",
52                 "name": "我的博客",
53                 "url": "https://www.cnblogs.com/cy708/"
54             },
55             {
56                 "type": "view",
57                 "name": "博客园主页",
58                 "url": "https://www.cnblogs.com/"
59             }
60         ]
61     }
62     ]
63 }
64 #创建自定义菜单
65 bacg = client.create_menu(menu_data=menu)
66 #提交数据
67 response = requests.post(url,bacg)
View Code

 

 注:1、40164报错:未将IP地址添加到白名单中,将提示的IP加入IP地址白名单中

   2、48001报错:非授权的账户不可使用自定义菜单栏

转载于:https://www.cnblogs.com/cxys85/p/10270277.html

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_30449239/article/details/95785960
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-30 08:20:40
  • 阅读 ( 1502 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢