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報錯:非授權的賬戶不可使用自定義菜單欄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM