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

智能推荐

代码审计中应注意的命令执行函数以及命令-程序员宅基地

文章浏览阅读871次,点赞23次,收藏24次。在ob_start系统的callback函数中,如果指定的callback函数包含执行代码,那么也可能是执行代码的来源。类似于os.system(),subprocess.call()运行一个命令,等待它完成,然后返回返回码。该函数可以创建一个匿名(匿名)函数,但如果函数的代码是由用户输入构造的,可能会执行不安全的代码。这两个函数可以调用一个用户定义的函数,如果传递的是含有系统命令的字符串,可能被用来执行代码。更复杂的执行外部程序的方法,允许双向通信,读写进程的 STDIN 和 STDOUT。

python报错distutils.errors.DistutilsError(记一次项目部署问题)_distutils.errors.distutilserror: command '['/usr/b-程序员宅基地

文章浏览阅读1.1w次,点赞17次,收藏10次。报错信息message:distutils.errors.DistutilsError: Command '['/root/.virtualenvs/xspiderenv/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmphyu84kuz', '--quiet', '--index-url', 'http://mirrors.aliyun.com/pypi/sim_distutils.errors.distutilserror: command '['/usr/bin/python3', '-m', 'pip',

浅谈嵌入式软件测试秘诀-程序员宅基地

文章浏览阅读824次,点赞19次,收藏18次。本文主要针对嵌入式设备测试的一些技巧和测试重点,欢迎各位参考学习

正则表达式及python中re库的使用_re匹配标点-程序员宅基地

文章浏览阅读437次。正则表达式_re匹配标点

机械工具英语_spanner和wrench的区别-程序员宅基地

文章浏览阅读1.8k次。spanner 扳子 (美作:wrench) double-ended spanner 双头扳子 box spanner 管钳子 (美作:socket wrench) calipers 卡规 pincers, tongs 夹钳 shears 剪子 hacksaw 钢锯 wire cutters 剪线钳 multipurpose pliers, universal p..._spanner和wrench的区别

Matlab 将数据写入excel文件-程序员宅基地

文章浏览阅读1.3k次,点赞25次,收藏23次。matlab 将数据写入到 excel 表格中。。。matlab 将数据按行写入到 excel 表格中。。。matlab 将数据按列写入到 excel 表格中。。。

随便推点

ios创建证书文件_创建ios证书文件-程序员宅基地

文章浏览阅读541次。在处理本文中这些操作之前你得有一个开发者账号(可以从苹果官网申请)1、打开钥匙串,在本地创建证书csr文件CSR文件:生成证书的过程中,有一步是需要我们上传CSR文件的。为什么必须要上传它?CSR文件是用于换取证书的公钥文件,导出CSR这个过程其实就是电脑向证书机构申请凭证的过程。证书是你用电脑制作的并且颁发给你的电脑的。但是这台电脑是否具有制作证书的能力,就是要这个CSR文件来凭证。_创建ios证书文件

python使用 pywin32 模块操作 excel,Python 操作 excel 系列之五_python pywin32打印excel为a3-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏43次。本篇博客是 Python 操作 excel 系列的第5篇,前4篇博客阅读地址如下所示:2022 之Python操作 Excel,xlrd 与 xlwt 模块一文掌握Python 操作 Excel,从 xlwings 模块开始Python 操作 Excel 第3篇博客,python openpyxl 模块一文打通python处理excel文件,python xlsxwriter 一文初掌握本篇咱们要学习的模块是 pywin32,该模块主要封装了 Windows 系统的 Win32 API,_python pywin32打印excel为a3

医院云HIS系统源码,二级医院、专科医院his系统源码,经扩展后能够应用于医联体/医共体-程序员宅基地

文章浏览阅读999次,点赞23次,收藏15次。基于云计算技术的B/S架构的HIS系统,为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。

解读PMP考点:快速跟进和赶工的区别-程序员宅基地

文章浏览阅读2.8w次,点赞5次,收藏27次。解读PMP考点:快速跟进和赶工的区别赶工和快速跟进都是进度压缩技术。进度压缩技术是指在不缩减项目范围的前提下,通过缩短或加快进度工期,以满足进度制约因素、强制日期或者其他进度目标。赶工和进度压缩的区别 解释 举例 影响分析 赶工 通过增加资源,以最小的成本代价来压缩进度工期的一种技术。 1、批准加班 2、增加额外资源或支付费用,来...

OpenMP矩阵乘法实现_openmp 分块 矩阵乘法-程序员宅基地

文章浏览阅读1w次,点赞6次,收藏39次。前面已经介绍了MPI和Pthreads矩阵乘法的实现,下面将继续介绍OpenMP矩阵乘法的实现方式。其实OpenMP矩阵乘法的实现与前面的Pthreads的实现方式有共同之处,都是基于线程的并行矩阵乘法的实现,因此如果Pthreads那章的代码看明白的话,本章就会变得非常简单,代码实现也和上一章差不了多少。串行化思路首先通过I/O操作将两个矩阵读入数组中去,再对第二个矩阵进行转置操作,之后将计算结果_openmp 分块 矩阵乘法

西北农林科技大学操作系统实验二(2)——作业调度一设计测试实验_模拟单道批处理系统中作业调度实验-程序员宅基地

文章浏览阅读1.9k次,点赞6次,收藏29次。编写并调试一个单道系统的作业调度模拟程序。调度模型:描述调度模型.。(可以采用模块化方法并用框图说明)作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。要求:1) 定义JCB,并操作之。2) 描述作业队列。3) 对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均 周转时间,以比较各种算法的优缺点。..._模拟单道批处理系统中作业调度实验