在 EasyWechat 5.5 中,获取第三方平台的 component_verify_ticket
是通过监听微信服务器推送的事件来实现的。component_verify_ticket
是微信服务器每隔10分钟推送一次的票据,用于验证第三方平台的身份。
以下是获取 component_verify_ticket
的步骤:
首先,你需要在微信开放平台注册并配置第三方平台,获取 AppID
和 AppSecret
,并设置消息接收URL。
在微信开放平台中,设置消息接收URL(例如:https://yourdomain.com/wechat/callback
),用于接收微信服务器推送的消息。
在 EasyWechat 中,你需要编写代码来处理微信服务器推送的 component_verify_ticket
。
use EasyWeChat\Factory;
// 配置第三方平台
$config = [
'app_id' => 'your_app_id',
'secret' => 'your_app_secret',
'token' => 'your_token',
'aes_key' => 'your_aes_key',
'response_type' => 'array',
];
$app = Factory::openPlatform($config);
// 处理微信服务器推送的消息
$server = $app->server;
$server->push(function ($message) {
// 处理 component_verify_ticket
if ($message['InfoType'] === 'component_verify_ticket') {
$componentVerifyTicket = $message['ComponentVerifyTicket'];
// 将 component_verify_ticket 保存到数据库或文件中
// 例如:file_put_contents('component_verify_ticket.txt', $componentVerifyTicket);
return 'success';
}
});
$response = $server->serve();
$response->send();
component_verify_ticket
在接收到 component_verify_ticket
后,你需要将其保存到数据库或文件中,以便后续使用。例如:
file_put_contents('component_verify_ticket.txt', $componentVerifyTicket);
component_verify_ticket
在后续的 API 调用中,你需要使用 component_verify_ticket
来获取 component_access_token
,然后才能调用其他第三方平台的接口。
$componentVerifyTicket = file_get_contents('component_verify_ticket.txt');
$app = Factory::openPlatform($config);
$componentAccessToken = $app->access_token->getToken($componentVerifyTicket);
将代码部署到服务器,并确保消息接收URL能够正常接收微信服务器推送的消息。你可以通过微信开放平台的“推送测试”功能来测试 component_verify_ticket
的接收情况。
component_verify_ticket
每隔10分钟会更新一次,因此你需要确保每次接收到新的 component_verify_ticket
后及时更新存储。success
,否则微信服务器会认为消息未处理成功,可能会重复推送。通过以上步骤,你可以在 EasyWechat 5.5 中成功获取并处理 component_verify_ticket
。