企业微信接入PHP开发框架全流程指南【教程】

星明吖_9662

星明吖_9662

2026-08-06

1033人浏览

原创

企业微信php接入核心是理清身份凭证、请求链路和安全校验三环节:需配置corpid/agentid/secret,用curl获取并缓存2小时有效期的access token,通过签名验证与aes解密处理回调消息,调用/message/send接口发送文本等消息。

企业微信接入php开发框架全流程指南【教程】

企业微信接入PHP开发框架,核心是把企业微信的认证、消息收发、用户管理等能力,通过PHP代码稳定对接进来。关键不在于写多少代码,而在于理清身份凭证、请求链路和安全校验这三个环节。只要配置准确、调用规范,整个流程并不复杂。

一、前置准备:获取企业微信凭证

登录企业微信管理后台(work.weixin.qq.com),进入「应用管理」→「自建应用」→「创建应用」。创建后,在应用详情页拿到三组关键参数:

  • CorpID:企业唯一标识,全局不变,类似身份证号
  • AgentID:当前应用的ID,整数类型,用于指定消息发送目标
  • Secret:应用密钥,用于换取Access Token,务必保密

建议将这三项存为配置数组,避免硬编码:

$config = [
    'corp_id'   => 'wwxxxxxxxxxxxxxx',
    'agent_id'  => 1000001,
    'secret'    => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
];

二、获取并缓存Access Token

所有API调用都需携带有效的Access Token,它有效期2小时,需本地缓存并自动刷新。推荐用cURL替代file_get_contents,更可控:

function getAccessToken($config) {
    $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={$config['corp_id']}&corpsecret={$config['secret']}";
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response = json_decode(curl_exec($ch), true);
    curl_close($ch);
    if (isset($response['access_token'])) {
        return $response['access_token'];
    }
    throw new Exception('获取Token失败:' . $response['errmsg']);
}

实际使用时,可加简单文件缓存或Redis缓存,避免每次请求都调用接口。

WeChat Article Parser - 微信公众号文章解析
WeChat Article Parser - 微信公众号文章解析

解析微信公众号文章,提取标题、作者、正文、图片等信息。用户发送链接(mp.weixin.qq.com)时触发,自动提取内容并可保存至飞书表格。

下载

三、接收与解析消息(回调模式)

企业微信通过HTTPS POST向你配置的回调URL推送消息,需完成三步验证:

  • 在企微后台填写可信域名及回调URL(如https://yourdomain.com/callback
  • 实现URL验证逻辑:GET请求带msg_signaturetimestampnonceechostr四个参数,返回解密后的echostr
  • POST消息需先校验签名,再AES解密(若启用消息加密),最后解析XML或JSON内容

签名验证示例(使用SHA256):

function verifySignature($msgSig, $timestamp, $nonce, $echoStr, $token) {
    $tmpArr = [$token, $timestamp, $nonce, $echoStr];
    sort($tmpArr, SORT_STRING);
    $tmpStr = implode('', $tmpArr);
    return hash_hmac('sha256', $tmpStr, $token) === $msgSig;
}

四、主动发送消息(文本/图文/卡片)

调用/cgi-bin/message/send接口即可向指定成员、部门或标签发送消息。以文本消息为例:

function sendText($config, $toUser, $content) {
    $token = getAccessToken($config);
    $url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={$token}";
    $data = [
        'touser'   => $toUser,
        'msgtype'  => 'text',
        'agentid'  => $config['agent_id'],
        'text'     => ['content' => $content],
        'safe'     => 0
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    $result = curl_exec($ch);
    curl_close($ch);
    return json_decode($result, true);
}

注意:touser支持多个用户用|分隔,如"zhangsan|lisi";发送失败时检查errcode值,常见错误如40014(access_token无效)、40003(用户不存在)。

php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

相关文章

企业微信
企业微信

企业微信是腾讯微信团队为企业打造的专业办公管理工具。与微信一致的沟通体验,丰富免费的OA应用,并与微信消息、小程序、微信支付等互通,助力企业高效办公和管理。有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

9044

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

5501

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2015

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

3408

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

4074

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

3191

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

4537

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

3522

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

11582

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
墨刀帮助中心
墨刀帮助中心

共0课时 | 0人学习

MyEclipse学习中心
MyEclipse学习中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习