Python实现微信公众平台自定义菜单实例

yipeiwu_com6年前Python基础

首先先获取access_token,并保存与全局之中

def token(requset):
  url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (
  Config.AppID, Config.AppSecret)
  result = urllib2.urlopen(url).read()
  Config.access_token = json.loads(result).get('access_token')
  print 'access_token===%s' % Config.access_token
  return HttpResponse(result)

利用上面获得的access_token,创建自定义表单

def createMenu(request):
  url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s" % Config.access_token
  data = {
   "button":[
   {
      "name":"看美图",
      "sub_button":[
      {
        "type":"click",
        "name":"美图",
        "key":"meitu"
      },
      {
        "type":"view",
        "name":"精选",
        "url":"http://m.jb51.net/photos"
      },
  {
        "type":"view",
        "name":"回顾",
        "url":"http://m.qzone.com/infocenter?g_f=#2378686916/mine"
      },
  {
        "type":"view",
        "name":"美图app",
        "url":"http://jb51.net/app/app.html"
      }]
 },
 {
      "name":"看案例",
      "sub_button":[
      {
        "type":"click",
        "name":"全部风格",
        "key":"style"
      },
      {
        "type":"click",
        "name":"全部户型",
        "key":"houseType"
      },
  {
        "type":"click",
        "name":"全部面积",
        "key":"area"
      },
  {
        "type":"view",
        "name":"更多案例",
        "url":"http://m.jb51.net/projects"
      }]
 },
 {
      "type":"view",
      "name":"设计申请",
      "url":"http://jb51.net/zhuanti/freedesign.jsp?src=3"

 }

 ]
}
  #data = json.loads(data)
  #data = urllib.urlencode(data)
  req = urllib2.Request(url)
  req.add_header('Content-Type', 'application/json')
  req.add_header('encoding', 'utf-8')
  response = urllib2.urlopen(req, json.dumps(data,ensure_ascii=False))
  result = response.read()
  return HttpResponse(result)

相关文章

python 安装virtualenv和virtualenvwrapper的方法

1. 首先介绍pip常用命令 pip安装命令: pip install package_name pip升级命令:pip install –ungrage package_name...

Python SVM(支持向量机)实现方法完整示例

Python SVM(支持向量机)实现方法完整示例

本文实例讲述了Python SVM(支持向量机)实现方法。分享给大家供大家参考,具体如下: 运行环境 Pyhton3 numpy(科学计算包) matplotlib(画图所...

python相似模块用例

一:threading VS Thread 众所周知,python是支持多线程的,而且是native的线程,其中threading是对Thread模块做了包装,可以更加方面的被使用,th...

python字符串替换re.sub()方法解析

pattern可以是一个字符串也可以是一个正则,用于匹配要替换的字符,如果不写,字符串不做修改。\1 代表第一个分组 repl是将会被替换的值,repl可以是字符串也可以是一个方法。如果...

Django logging配置及使用详解

1. settings.py文件 做开发离不开必定离不开日志, 以下是我在工作中写Django项目常用的logging配置. # 日志配置 BASE_LOG_DIR = os.pa...