微信公众平台创建自定义菜单的PHP代码
授人以鱼不如授人以渔。在方倍工作室上问了一下,创建自定义菜单的代码多少钱,一张口就一百,好吧,那我就给你们一人省一百块钱吧,你们说该如何谢谢我?事先说明一下啊,你的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代码的更多相关文章
- 微信公众平台创建自定义菜单中文编码导致system error
创建包含了中文的自定义菜单时总是返回{"errcode":-1,"errmsg":"system error"},要将编码方式设置为UTF- ...
- 使用Java语言开发微信公众平台(八)——自定义菜单功能
随着上一篇文章的结束,我们已经实现了所有消息的类型的回复功能.今天,我们来学习更加高大上,也更加重要的自定义菜单功能. 一.了解自定义菜单 自定义菜单是微信公众平台最常用也是最重要的功能之一.根据微信 ...
- 微信公众平台开发----自定义菜单、消息处理及获取OpenID(C#)
一.成为开发者 服务器配置 登录微信公众平台官网后,在公众平台后台管理页面 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL).Token和EncodingAESKey,如下图所示: 其中 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单
系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...
- 微信公众平台中添加qq在线聊天代码
微信公众平台是个不错的媒体,可以和你的小伙伴们即时交流,但你的小伙伴们是用手机上的微信,打字自然就慢了:有人说用微信网页版,那个也不习惯,再说也不一定所有人都知道网页版微信.(2014.01.22更新 ...
- 微信利用PHP创建自定义菜单的方法
在使用通用接口前,你需要做以下两步工作:1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请内测资格,审核通过后可获得)2.通过获取凭证接口获取到access_token注 ...
- 微信公众平台开发详细步骤与java代码
1.微信公众平台设置 首先在https://mp.weixin.qq.com/注册一个公众平台账号(服务号.订阅号.企业号的区别) 微信公众平台地址:https://mp.weixin.qq.com ...
- 微信公众号-开发者-自定义菜单-CLICK事件处理
想点击菜单,推送消息.功能很简单,坑了我一天时间.在此笔记. 菜单代码: { "button":[ { "type":"click", &q ...
- 微信公众平台自定义菜单PHP开发
微信公众平台自定义菜单PHP开发,微信公众平台自定义菜单是如何实现的呢?其实很简单,首先在微信公众平台升级为服务号,获取appid和appsecret,然后根据这2个参数获取access_token, ...
随机推荐
- 使用 Hadoop 进行语料处理(面试题)
原创播客,如需转载请注明出处.原文地址:http://www.cnblogs.com/crawl/p/7751741.html ------------------------------------ ...
- C语言学习(记录)【内存相关_1:内存基础】
本学习是基于嵌入式的C语言学习记录(课程内容来源于某位老师的网络课程,为了证明不是在打广告,就不写出老师的名字了,感谢.) -------------------------------------- ...
- Java调用C++类库--JNI
JNI是Java平台中的一个重要的功能,这里我把我做的Demo总结一下,分享一下,我会把每个步骤尽量的详细的展现出来. 这里我就不讲解JNI的原理了,google,百度一下,到处都是 好了,直接来讲步 ...
- Linux crontab定时器设置(定期执行java程序)(转)
Crontab 语法 Crontab语法一个crontab文件用五个段来定义:天,日期和时间,和一个要定期执行的命令代码. * * * * * command to be execut ...
- Codeforces 378B. Parade
B. Parade time limit per test 1 second memory limit per test 256 megabytes input standard input outp ...
- caffe源码分析 vector<Blob<Dtype>*>& bottom
Blob:4个维度 n x c x h x w: bottom[0] .bottom[1]代表该层有几个输入. bottom[0]->count(): 输入中,元素的总维数(个数) bottom ...
- 基于node的websocket示例
websocket:用语服务器端主动向客户端推送消息 本例基于koa框架编写用例:服务器端需要安装相关模块 koa koa-socket co等 服务器端脚本:(需要安装相关模块 koa koa-so ...
- DataFrame使用总结1(超实用)
DataFrame使用总结1(超实用): 1. 合并两个表 frame = [df1, df2] df = pd.concat(frame) res = pd.merge(df, df1, on=[' ...
- Java_String_01_由转义字符串得到其原本字符串
在开发企业微信电子发票之拉取电子发票接口的时候,微信服务器会发送给我们一个2层的转义字符串,而我们要想得到我们想要的结果,就需要进行一些处理: 反转义+去除首尾双引号. 一.需求 现有一个字符串 st ...
- selenium_Alert
网页测试,最避免不了的就是弹出框,但是弹出框你真的分的清吗? Alert prompt comfirm 先来认识一下这三个弹窗 代码如下 <!DOCTYPE html> <html ...