Python脚本--微信公众号自定义菜单的创建及获取

Posted cy708

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python脚本--微信公众号自定义菜单的创建及获取相关的知识,希望对你有一定的参考价值。

  暑假写的一个修改/获取微信公众号菜单的脚本,具体看微信公众平台的API:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432

# -*- coding: utf-8 -*
import tkMessageBox
import urllib2
import json
import sys
reload(sys)
sys.setdefaultencoding(UTF-8)

appID = wxa46e26b3d591f9f2      //测试号信息
appsecret = 83ee70dbb6dbc1e090971554b1c7981b   //同上

menu = {                      //菜单信息,包括一级菜单和二级菜单
    "button":[
    {
        "type": "view",       //type还可以是微信小程序等,此例子只用了一种type。具体可以去看API
        "name": "百度",
        "url": baidu,
    },
    {
        "name": "腾讯",
        "sub_button": [
            {
                "type": "view",
                "name": "腾讯主页",
                "url": "http://www.tencent.com"
            },
            {
                "type": "view",
                "name": "腾讯招聘",
                "url" : "https://join.qq.com/"
            },
            {
                "type": "view",
                "name": "腾讯网",
                "url": "https://www.qq.com/"
            },
            {
                "type": "view",
                "name": "腾讯视频",
                "url": "https://v.qq.com/"
            }
        ]
    },
    {
        "name": "博客园",
        "sub_button": [
            {
                "type": "view",
                "name": "我的博客",
                "url": "https://www.cnblogs.com/cy708/"
            },
            {
                "type": "view",
                "name": "博客园主页",
                "url": "https://www.cnblogs.com/"
            }
        ]
    }
    ]
}

def getMenuRequest():
    gettoken = https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid= + appID + &secret= + appsecret
    f = urllib2.urlopen(gettoken)
    stringjson = f.read()
    access_token = json.loads(stringjson)[access_token]
    posturl = "https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" + access_token

    req = urllib2.Request(posturl)
    data = urllib2.urlopen(req).read()
    data = json.loads(data)
    return data

def createMenuRequest(menu):
    data = json.dumps(menu,ensure_ascii=False).encode(utf-8)
    gettoken = https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid= + appID + &secret= + appsecret
    f = urllib2.urlopen(gettoken)
    stringjson = f.read()
    access_token = json.loads(stringjson)[access_token]
    postcreateurl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + access_token

    req = urllib2.Request(postcreateurl)
    response = urllib2.urlopen(req, menu)
    result = response.read()
    result = json.loads(result)     //到这步就可以了,下面的只是提示框显示结果而已
    if result["errcode"] == 0:
        tkMessageBox.showinfo(成功!,"errmsg:"+str(result["errmsg"]))
    else:
        tkMessageBox.showinfo(失败!, "errcode:"+str(result["errcode"])+"
"+"errmsg:" + str(result["errmsg"]))

 

以上是关于Python脚本--微信公众号自定义菜单的创建及获取的主要内容,如果未能解决你的问题,请参考以下文章

微信公众号自定义菜单栏如何加emoji表情等图标

怎么获得微信公众号(订阅号)自定义菜单接口权限?

微信公众平台官方自定义菜单url 网页授权

微信公众号里面的自定义菜单限制字数不超过8个汉字或16个字母

微信公众号推文中如何自定义添加表格?

如何在微信公众平台上面自定义回复,采用java 语言