php 公众号 获取菜单,微信公众号利用PHP创建自定义菜单的方法-程序员宅基地

技术标签: php 公众号 获取菜单  

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

1.拥有一个微信公众账号,并获取到appid和appsecret(在公众平台申请内测资格,审核通过后可获得)

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

注意:

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

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

访问下面这个地址(注意替换你的appid和secret):

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

然后在浏览器能看到一下返回信息:

{"access_token":"这里就是你的access_token","expires_in":7200}

header("Content-type: text/html; charset=utf-8");

define("ACCESS_TOKEN", "这里填入你上面获取到的access_token");

//创建菜单

function createMenu($data){

$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)) {

return curl_error($ch);

}

curl_close($ch);

return $tmpInfo;

}

//获取菜单

function getMenu(){

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

}

//删除菜单

function deleteMenu(){

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

}

$data = '{

"button":[

{

"type":"click",

"name":"首页",

"key":"home"

},

{

"type":"click",

"name":"简介",

"key":"introduct"

},

{

"name":"菜单",

"sub_button":[

{

"type":"click",

"name":"hello word",

"key":"V1001_HELLO_WORLD"

},

{

"type":"click",

"name":"赞一下我们",

"key":"V1001_GOOD"

}]

}]

}';

echo createMenu($data);

//echo getMenu();

//echo deleteMenu();

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33524408/article/details/116040302

智能推荐

【物联网】探索NE555:一款经典的集成电路(超详细)-程序员宅基地

文章浏览阅读362次,点赞3次,收藏5次。NE555是一种集成电路,其内部结构包括比较器、RS触发器、电压比较器和输出级三个主要功能模块,外部引脚则提供了与其他电路元件进行连接的接口。NE555的设计目的是为了提供一种简单方便的定时器解决方案,它广泛应用于模拟和数字电路中。你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

Linux中的高级IO(非阻塞IO与阻塞式IO,多路IO复用,异步IO)_非阻塞io和多路io复用阻塞速度(1)-程序员宅基地

文章浏览阅读856次,点赞10次,收藏10次。你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!、讲解视频,并且后续会持续更新**如果你觉得这些内容对你有帮助,可以+V:Vip1104z获取!!!(备注:嵌入式)你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!

C++通过学生类统计学生各种信息-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏9次。C++通过学生类统计学生各种信息

《笨办法学python》习题31-35_32.if a = [1,2,3,4,5; 3,4,5,6,7], then the value o-程序员宅基地

文章浏览阅读183次。习题31:作出决定代码print("""You enter a dark room with two doors.Do you go through door #1 or door #2?""")door = input(">")if door == "1": print("There's a giant bear here eating a cheese cake.") print("What do you da?") print("1.Take the cak_32.if a = [1,2,3,4,5; 3,4,5,6,7], then the value of min (max (a)) is___3__.

Android创建自定义dialog方法详解-样式去掉阴影效果-程序员宅基地

文章浏览阅读1.7w次。转http://jingyan.baidu.com/article/148a19216d58964d71c3b19f.html在自定义组件时,从已有组件源码中会很大收获。就拿progressDialog来说 间接父类是dialog,想了解dialog继承结构可以去百度,或者 从构造器来说ProgressDialog(Context context, i

PopupWindow的简单使用(结合RecyclerView)_popwindow recyclerview 气泡-程序员宅基地

文章浏览阅读1.5w次,点赞9次,收藏12次。Android弹窗:在Android中弹出式菜单(以下称弹窗)是使用十分广泛一种菜单呈现的方式,弹窗为用户交互提供了便利。关于弹窗的实现大致有以下两种方式AlertDialog和PopupWindow;两者的区别:AlertDialog弹窗在位置显示上是固定的,而PopupWindow则相对比较随意,能够在主屏幕上的任意位置显示; 今天就简单介绍一下,如何利用PopupWindow实现Recyc_popwindow recyclerview 气泡

随便推点

获取接口所有实现类的三种方式:Spring的ListableBeanFactory容器的getBeanNamesForType方法、利用Reflections工具进行反射扫描、使用SPI-程序员宅基地

文章浏览阅读3.9k次。前言在策略模式应用中,需要获取到策略接口的所有实现类,本文记录三种获取某接口所有实现类的方法,分别是利用Spring的ListableBeanFactory容器的getBeanNamesForType方法,利用Reflections工具进行反射扫描、利用SPI方式。1、借助于Spring容器2、反射扫描3、SPI...

LLM 推理优化探微 (3) :如何有效控制 KV 缓存的内存占用,优化推理速度?-程序员宅基地

文章浏览阅读1.1k次,点赞11次,收藏27次。本文主要内容如下:(1) KV缓存随序列长度线性增长,容易超过模型本身的规模,严重制约最大序列长度; (2) 减小KV缓存对GPU内存的占用,是优化推理速度和吞吐量的关键; (3) MQA、GQA等新型注意力机制、FastGen等缓存压缩策略,以及PagedAttention等内存管理机制,都是能够有效缓解 KV 缓存内存占用压力的技术手段。

android 关于屏幕截屏的几种办法_screen_short_side-程序员宅基地

文章浏览阅读3.6k次。年末较闲,就上个星期查找各方面的资料关于android截图事情,自已也测试一些代码,已改改进或者优化。接下来进行总结一下。其实,如果真正android系统截屏是需要root权限的。但要用户使用都root,似乎不可能,体验性太差了。这期间我稍微观察了QQ的截图。QQ的截图是摇一摇截图当前屏幕,这个是不需要root权限的。然而,如果你要截图页面不是当前页面,就需要root权限。可以使用360超级roo_screen_short_side

Matlab车牌识别-程序员宅基地

文章浏览阅读827次,点赞16次,收藏18次。图像预处理主要是对系统获取的原始图像基本特征的信息进行相应的、有针对性的处理,以滤去干扰、噪声,作几何校正、色彩校正,以便于计算机的分析计算,一般包括滤波、图像增强、图像二值化、形态学运算、边缘检测等。figure(7),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色车牌图像')figure(10),subplot(5,7,1:7),imshow(dw),title('第一步:车牌定位'),figure(2),subplot(1,2,2),imhist(I1);

【ThingJS | 3D可视化】开发框架,一站式数字孪生-程序员宅基地

文章浏览阅读1.2k次,点赞4次,收藏3次。ThingJS是一个基于WebGL和Three.js的开源3D JavaScript库,用于创建交互式的3D场景和应用程序。它提供了丰富的功能和工具,使开发人员能够简单而高效地构建各种类型的3D应用。ThingJS支持导入各种3D模型格式,并提供了各种渲染效果和交互功能,例如阴影、光照、碰撞检测等。_thingjs

reactNative项目如何连接夜神虚拟器-程序员宅基地

文章浏览阅读1.4k次。ReactNative连接夜神虚拟器踩坑记(版本号不一致、adb自己占用自己、aab设备连接正常,as未检测出设备....)

推荐文章

热门文章

相关标签