资讯专栏INFORMATION COLUMN

微信公众号的第一次开发,新手爬坑

phpmatt / 2390人阅读

摘要:最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法上代码,这里要说明我直接用了自己的令牌,这个自己根据自己的令牌来实现。

最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法
上代码,这里要说明我直接用了自己的access——token令牌,这个自己根据自己的令牌来实现。关于appid跟appsercet的获取就在这里不解释了,不会可以直接百度。下面是简单实现菜单的方法,自己可以封装一些很多的函数,详情参考微信开发文档即可。最后附上自己的图

//微信自定义菜单

</>复制代码

  1. header("Content-type: text/html; charset=utf-8");
  2. //define("ACCESS_TOKEN", "5b9FZhqOXvEf2GthK76FF03kio0uUST9uqUT9L3mLli1qKdPp4dF7Ik0ZiKLGlWs4DQHMB-IveCgNvxEuDlMIrqloxrXa1IaYy5cGB3Gp9TvP_Yh-o1H-bi8Nq9BXE3JMAUbADACQK");`

function get_access_token() {

</>复制代码

  1. $appid = "你的微信公众号 appid";
  2. $appsecret = "你的微信公众号 appsercet";
  3. $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";
  4. $ch = curl_init();
  5. curl_setopt($ch, CURLOPT_URL, $url);
  6. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  7. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  9. $output = curl_exec($ch);
  10. curl_close($ch);
  11. $jsoninfo = json_decode($output, true);
  12. $access_token = $jsoninfo["access_token"];
  13. return $access_token;

}

//创建菜单
function createMenu($data) {

</>复制代码

  1. $access_token = get_access_token();
  2. var_dump($access_token);
  3. if (!$access_token)
  4. return;
  5. $ch = curl_init();
  6. curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" . $access_token);
  7. curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
  8. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  9. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  10. curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)");
  11. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  12. curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  13. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  14. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  15. $tmpInfo = curl_exec($ch);
  16. if (curl_errno($ch)) {
  17. return curl_error($ch);
  18. }
  19. curl_close($ch);
  20. return $tmpInfo;

}

//获取菜单
function getMenu() {

</>复制代码

  1. return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/get?access_token=" . ACCESS_TOKEN);

}

//删除菜单
function deleteMenu() {

</>复制代码

  1. return file_get_contents("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=" . ACCESS_TOKEN);

}

$data = "{

</>复制代码

  1. "button":[
  2. {
  3. "name":"安全动态",
  4. "sub_button":[
  5. {
  6. "type":"click",
  7. "name":"一天一句",
  8. "key":"V1001_GOOD"
  9. },
  10. {
  11. "type":"click",
  12. "name":"安全通知",
  13. "key":"V1001_GOOD"
  14. },
  15. {
  16. "type":"click",
  17. "name":"重要通知",
  18. "key":"V1001_GOOD"
  19. },
  20. {
  21. "type":"click",
  22. "name":"经验交流",
  23. "key":"V1001_HELLO_WORLD"
  24. },
  25. {
  26. "type":"click",
  27. "name":"安全热点",
  28. "key":"V1001_GOOD"
  29. }]
  30. },
  31. {
  32. "name":"小安微课堂",
  33. "sub_button":[
  34. {
  35. "type":"click",
  36. "name":"学习记录",
  37. "key":"V1001_GOOD"
  38. },
  39. {
  40. "type":"click",
  41. "name":"安全学习",
  42. "key":"V1001_GOOD"
  43. },
  44. {
  45. "type":"click",
  46. "name":"本质安全",
  47. "key":"V1001_HELLO_WORLD"
  48. },
  49. {
  50. "type":"click",
  51. "name":"班组安全",
  52. "key":"V1001_GOOD"
  53. }]
  54. },
  55. {
  56. "name":"测试评估",
  57. "sub_button":[
  58. {
  59. "type":"click",
  60. "name":"联系小安",
  61. "key":"V1001_GOOD"
  62. },
  63. {
  64. "type":"click",
  65. "name":"投票活动",
  66. "key":"V1001_GOOD"
  67. },
  68. {
  69. "type":"click",
  70. "name":"成绩查询",
  71. "key":"V1001_GOOD"
  72. },
  73. {
  74. "type":"click",
  75. "name":"考试测评",
  76. "key":"V1001_HELLO_WORLD"
  77. },
  78. {
  79. "type":"click",
  80. "name":"用户登录",
  81. "key":"V1001_GOOD"
  82. }]
  83. }
  84. ]

}";

echo createMenu($data);
?>

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89650.html

相关文章

  • 微信公众号的一次开发新手爬坑

    摘要:最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法上代码,这里要说明我直接用了自己的令牌,这个自己根据自己的令牌来实现。 最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法上代码,这里要说明我直接用了自己的access——token令牌,这个自己根据自己的令牌来实现。关于appi...

    silencezwm 评论0 收藏0
  • 微信公众号的一次开发新手爬坑

    摘要:最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法上代码,这里要说明我直接用了自己的令牌,这个自己根据自己的令牌来实现。 最近接触到微信公众号开发,首先就是爬这个关于自定义菜单的坑了,看了文档一段时间加上百度的总结了实现的方法上代码,这里要说明我直接用了自己的access——token令牌,这个自己根据自己的令牌来实现。关于appi...

    leanxi 评论0 收藏0
  • 回望2017:一个前端从业者砥砺前行的一年

    摘要:走过了这一年,公众号的名称前前后后改了三次,最后定格为闰土大叔。均价,这价格绝对属于太原市最便宜的楼盘之一了。据售楼部的朋友说,未来两年太原的房价还会迎来新一波的涨价潮,到了年,太原会承办全国青少年运动会,简称青运会。 前言 从年前就嚷嚷着要走出去走出去,转眼间已经到了年底依然在我的大太原呆着。年底了,不能免俗的我,也来写一篇2017年度工作总结的文章,凑凑热闹。如果对你有一点点启发,...

    dmlllll 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<