授人以鱼不如授人以渔。在方倍工作室上问了一下,创建自定义菜单的代码多少钱,一张口就一百,好吧,那我就给你们一人省一百块钱吧,你们说该如何谢谢我?事先说明一下啊,你的PHP版本要高于4.0.2才支持cURL init(),我是在SAE上运行的,已经成功。

大家有钱捧个钱场,没钱捧个人场啊~~~~~

另:Q群里有个老兄问ACCESS_TOKEN怎么取的,公共平台的接口文档上面就有。

获取凭证



接口说明



在使用通用接口前,你需要做以下两步工作:



1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请自定义菜单功能,开启开发者模式,填写URL与Token后获得)



2.通过获取凭证接口获取到access_token



注意:



access_token是第三方访问api资源的票据;

access_token对应于公众号是全局唯一的票据,重复获取将导致上次获取的access_token失效。

请求说明



http请求方式: GET

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明



参数        是否必须        说明

grant_type         是         获取access_token填写client_credential

appid         是         第三方用户唯一凭证

secret         是         第三方用户唯一凭证密钥,既appsecret

返回说明



正确的Json返回结果:



{"access_token":"ACCESS_TOKEN","expires_in":7200}

根据上面的办法 ,进入开发模式后,可以看到腾讯分配给你的APPID 和 APPSECRET放到上面URL中相应的位置,直接复制到浏览器地址栏,就看到返回的JSON,然后那个一大串字符就是你的ACCESS_TOKEN

呵呵,不废话话了,上代码,很简单的!

<?php

function post($url, $jsonData){

$ch = curl_init($url) ;

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

curl_setopt($ch, CURLOPT_POSTFIELDS,$jsonData);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));

$result = curl_exec($ch) ;

curl_close($ch) ;

return $result;

}

$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=你的ACCESS_TOKEN";

$data = "{

\"button\":[

{

\"type\":\"click\",

\"name\":\"关于我们\",

\"sub_button\":[

{

\"type\":\"click\",

\"name\":\"医院介绍\",

\"key\":\"V1001_01_01\"

},

{

\"type\":\"click\",

\"name\":\"金牌服务\",

\"key\":\"V1001_01_02\"

},

{

\"type\":\"click\",

\"name\":\"最新活动\",

\"key\":\"V1001_01_03\"

},

{

\"type\":\"click\",

\"name\":\"医院地址\",

\"key\":\"V1001_01_04\"

},

{

\"type\":\"click\",

\"name\":\"每日话题\",

\"key\":\"V1001_01_05\"

}]

},

{

\"type\":\"click\",

\"name\":\"会员\",

\"sub_button\":[

{

\"type\":\"click\",

\"name\":\"会员信息\",

\"key\":\"V1001_02_01\"

},

{

\"type\":\"click\",

\"name\":\"星座圈\",

\"key\":\"V1001_02_02\"

},

{

\"type\":\"click\",

\"name\":\"微信墙\",

\"key\":\"V1001_02_03\"

},

{

\"type\":\"click\",

\"name\":\"积分兑换\",

\"key\":\"V1001_02_04\"

}]

},

{

\"type\":\"click\",

\"name\":\"帮助\",

\"sub_button\":[

{

\"type\":\"click\",

\"name\":\"使用帮助\",

\"key\":\"V1001_03_01\"

},

{

\"type\":\"click\",

\"name\":\"最新更新\",

\"key\":\"V1001_03_02\"

}]

}]

}";

post($url,$data);

?>

微信公众平台创建自定义菜单的PHP代码的更多相关文章

  1. 微信公众平台创建自定义菜单中文编码导致system error

    创建包含了中文的自定义菜单时总是返回{"errcode":-1,"errmsg":"system error"},要将编码方式设置为UTF- ...

  2. 使用Java语言开发微信公众平台(八)——自定义菜单功能

    随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信 ...

  3. 微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)

    一.成为开发者 服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL).Token和EncodingAESKey,如下图所示: 其中 ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单

    系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...

  5. 微信公众平台中添加qq在线聊天代码

    微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...

  6. 微信利用PHP创建自定义菜单的方法

    在使用通用接口前,你需要做以下两步工作:1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请内测资格,审核通过后可获得)2.通过获取凭证接口获取到access_token注 ...

  7. 微信公众平台开发详细步骤与java代码

    1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...

  8. 微信公众号-开发者-自定义菜单-CLICK事件处理

    想点击菜单,推送消息.功能很简单,坑了我一天时间.在此笔记. 菜单代码: { "button":[ { "type":"click", &q ...

  9. 微信公众平台自定义菜单PHP开发

    微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token, ...

随机推荐

  1. Java基础笔记8

    Object类 Object类是所有类的父类. 如果某个类没有显示的继承某个父类,那么该类则继承Object. 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类. 所有对象( ...

  2. javascript高性能写法

    看到一篇不错的博文,如果想写出比较高性能的代码,可参看这个链接http://developer.51cto.com/art/200906/131335.htm

  3. 搭建yeoman自动化构建工具

    yeoman可以快速的搭建一个项目的手脚架,初次接触yeoman,在搭建的过程中遇到了很多的问题. yeoman需要node.js(http://nodejs.org)和git(http://git- ...

  4. 利用python深度学习算法来绘图

    可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...

  5. Android 开发笔记___EditText__文本编辑框

    常用属性: inputType:(代码中:setiputtype)设置输入类型,多种类型中间用"|" maxlength:最大长度,无法通过代码设置 hint:提示文本内容,(代码 ...

  6. iOS 极光推送的集成以及一些集成后的狗血

    1.首先进入极光文档下载激光推送的SDk---传送门http://docs.jiguang.cn/jpush/client/iOS/ios_sdk/   将解压后的lib子文件夹(包含JPUSHSer ...

  7. Python连接Oracle数据库

    今天使用Python连接数据库,连接没有问题,就是中文显示乱码,网上找了很多解决方案, 最后选择使用这个 #!/usr/bin/env python # -*- coding:utf-8 -*- #A ...

  8. Wordpress上传文件 “无法建立目录wp-content/uploads/2018/25。有没有上级目录的写权限?”

    可能的原因有两个: wp-content/uploads 文件夹权限所限制 解决方法:修改wp-content/uploads 文件夹权限,可以借助ftp等工具: wp_options表中upload ...

  9. 2 将mybatis配置到springmvc中

    为了更方便的连接数据库,将mybatis配置到springMVC中 1).  首先是jar包    多了3个jar  druid 这个是阿里的数据库连接包      mybatis和 mybatis- ...

  10. 重构手法之Introduce Explaining Variable(引用解释性变量)

    返回总目录 6.5Introduce Explaining Variable(引用解释性变量) 概要 你有一个复杂的表达式. 将该复杂表达式(或其中一部分)的结果放进一个临时变量,以此变量名称来解释表 ...