100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > EasyWeChat微信开放平台第三方平台接入

EasyWeChat微信开放平台第三方平台接入

时间:2022-08-10 05:22:51

相关推荐

EasyWeChat微信开放平台第三方平台接入

目录

实例化

微信服务器推送事件

预授权

获取预授权 Code

获取预授权 URL

API 列表

使用授权码换取公众号的接口调用凭据和授权信息

获取授权方的公众号帐号基本信息

获取授权方的选项设置信息

设置授权方的选项信息

调用授权方 API

实例化

<?php

use EasyWeChat\Foundation\Application;

$options = [

// ...

'open_platform' => [

'app_id' => 'component-app-id',

'secret' => 'component-app-secret',

'token' => 'component-token',

'aes_key' => 'component-aes-key'

],

// ...

];

$app = new Application($options);

$openPlatform = $app->open_platform;

微信服务器推送事件

公众号第三方平台推送的有四个事件:

授权成功(authorized)

授权更新(updateauthorized)

授权取消(unauthorized)

推送 ComponentVerifyTicket(component_verify_ticket)

在公众号第三方平台创建审核通过后,微信服务器会向其“授权事件接收URL”每隔 10 分钟推送一次 component_verify_ticket。

SDK 内部已实现缓存 component_veirfy_ticket,开发者无需另行处理该事件。

其余事件需要开发者自行处理。

注:需要在URL路由中写上触发代码,并且注册路由后需要等待微信服务器推送 component_verify_ticket,才有权限进行其他操作,否则报”Component verify ticket does not exists.”

Example:

use EasyWeChat\OpenPlatform\Guard;

$server = $openPlatform->server;

$server->setMessageHandler(function($event) use ($openPlatform) {

// 事件类型常量定义在 \EasyWeChat\OpenPlatform\Guard 类里

switch ($event->InfoType) {

case Guard::EVENT_AUTHORIZED: // 授权成功

$authorizationInfo = $openPlatform->getAuthorizationInfo($event->AuthorizationCode);

// 保存数据库操作等...

case Guard::EVENT_UPDATE_AUTHORIZED: // 更新授权

// 更新数据库操作等...

case Guard::EVENT_UNAUTHORIZED: // 授权取消

// 更新数据库操作等...

}

});

$response = $server->serve();

$response->send(); // Laravel 里请使用:return $response;

预授权

获取预授权 Code

Example:

$openPlatform->pre_auth->getCode();

获取预授权 URL

Example:

// 直接跳转

$response = $openPlatform->pre_auth->redirect('https://your-/callback');

// 获取跳转的 URL

$response->getTargetUrl();

用户授权后会带上 auth_code 跳转到 https://your-/callback?auth_code=xxxxxxx

API 列表

使用授权码换取公众号的接口调用凭据和授权信息

// 使用授权码换取公众号的接口调用凭据和授权信息

// Optional: $authorizationCode 不传值时会自动获取 URL 中 auth_code 值

$openPlatform->getAuthorizationInfo($authorizationCode = null);

获取授权方的公众号帐号基本信息

$openPlatform->getAuthorizerInfo($authorizerAppId);

获取授权方的选项设置信息

$openPlatform->getAuthorizerOption($authorizerAppId, $optionName);

设置授权方的选项信息

$openPlatform->setAuthorizerOption($authorizerAppId, $optionName, $optionValue);

调用授权方 API

通过该方法会获得一个 \EasyWeChat\Foundation\Application 实例。

当调用授权方 API 后,SDK 内部会自动获取和刷新 AuthorizerAccessToken 有效期。

所以开发者无需处理授权方公众号的接口调用凭据 AuthorizerAccessToken。

// 传递 AuthorizerAppId 和 AuthorizerRefreshToken(注意不是 AuthorizerAccessToken)即可。

$app = $openPlatform->createAuthorizerApplication($authorizerAppId, $authorizerRefreshToken);

// 调用方式与普通调用一致。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。