您的位置:首页 > 移动开发 > 微信开发

PHP微信公众平台自定义菜单

2014-05-12 08:29 501 查看
 最近单位搞了微信的公众平台做营销,其中就包括自定义菜单的实现,51模板集分享代码给大家一起来学习,若你是初学者还等什么直接上代码把。

  自微信进入5.0,公众号有了服务号和订阅号的区别,其中一个很重要的区别就是服务号可以自定义菜单,而订阅号不可以,所以这篇文章只适合打算开发服务号的朋友。

  读这篇文章时,假设你已经成功的申请到了自定义菜单了权限,如果没有,推荐你去看看这篇博文 《自定义菜单的创建及菜单事件响应》,那么现在你已经有了自己的AppId和AppSecret,接下来就是获取Token了,方法很简单,如下所说:

  请求说明

  http请求方式: GET

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

  这是微信上面的文档,现在只要把上面链接中的APPID和APPSECRET修改为自己的AppId和AppSecret,然后直接拷贝至浏览器的地址栏窗口,回车即可获取到那个Token了,如下所示,

  {"access_token":"NUF35mOfsEQMoLhezC053RrU4G2rpFsvt5CmG6mFZtRhCsPmA3EK3W0ohUacF-d3lKJW6i7q_a9UrKRNPb6IRtX6FT1qRu_LAHi2FTxpxXwFNYFwIkWU2qqRA","expires_in":7200}

  现在你的token已经获取成功了,下来就是相关的代码实现了。

  public function createMenu(){

  $ACCESS_TOKEN = "前面通过浏览器获取到的Token";

  $data = '{

  "button":[

  {

  "type":"click",

  "name":"搜索附近",

  "key":"1"

  },

  {

  "type":"click",

  "name":"最新活动",

  "key":"2"

  },

  {

  "name":"更多",

  "sub_button":[

  {

  "type":"click",

  "name":"关于我们",

  "key":"3"

  },

  {

  "type":"click",

  "name":"用户反馈",

  "key":"4"

  },

  {

  "type":"click",

  "name":"优倍周边",

  "key":"5"

  }]

  }]

  }';

  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$ACCESS_TOKEN}");

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

  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');

  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

  $tmpInfo = curl_exec($ch);

  if (curl_errno($ch)) {

  echo 'Errno'.curl_error($ch);

  }

  curl_close($ch);

  var_dump($tmpInfo);

  }

  现在和合适的位置调用上面的方法就可以实现菜单了,

  <?php

  include_once('include/weixin.class.php');

  define('TOKEN', 'ubive');

  define('DEBUG', false);

  $weixin->createMenu();

  ?>

  注意一点:由于微信缓存的原因,你可能需要取消订阅你原来的微信号后再重新订阅才能看到菜单的效果:51模板集给您介绍更加详细了吧,若还是有什么联系我们

本文来自: 51模板集(www.51mubanji.com)
详细出处参考:http://www.51mubanji.com/xsb/390.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: