暑假寫的一個修改/獲取微信公眾號菜單的腳本,具體看微信公眾平台的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"])+"\n"+"errmsg:" + str(result["errmsg"]))