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

1132次阅读  |  发布于5年以前

首先先获取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)

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8