代授权方实现业务

授权方已经把公众号、小程序授权给你的开放平台第三方平台了,接下来的代授权方实现业务只需一行代码即可获得授权方实例。

实例化

  1. use EasyWeChat\Factory;
  2. $config = [
  3. // ...
  4. ];
  5. $openPlatform = Factory::openPlatform($config);

获取授权方实例

  1. // 代公众号实现业务
  2. $officialAccount = $openPlatform->officialAccount(string $appId, string $refreshToken);
  3. // 代小程序实现业务
  4. $miniProgram = $openPlatform->miniProgram(string $appId, string $refreshToken);

$appId 为授权方公众号 APPID,非开放平台第三方平台 APPID

$refreshToken 为授权方的 refresh_token,可通过 获取授权方授权信息 接口获得。

帮助授权方管理开放平台账号

  1. // 代公众号实现业务
  2. $account = $officialAccount->account;
  3. // 代小程序实现业务
  4. $account = $miniProgram->account;
  5. // 创建开放平台账号
  6. // 并绑定公众号或小程序
  7. $result = $account->create();
  8. // 将公众号或小程序绑定到指定开放平台帐号下
  9. $result = $account->bindTo($openAppId);
  10. // 将公众号/小程序从开放平台帐号下解绑
  11. $result = $account->unbindFrom($openAppid);
  12. // 获取公众号/小程序所绑定的开放平台帐号
  13. $result = $account->getBinding();

授权第三方平台注册的开放平台帐号只可用于获取用户 unionid 实现用户身份打通。

第三方平台不可操作(包括绑定/解绑)通过 open.weixin.qq.com 线上流程注册的开放平台帐号。

公众号只可将此权限集授权给一个第三方平台,授权互斥。

接下来的 API 调用等操作和公众号、小程序的开发一致,请移步到公众号小程序开发章节继续进行开发吧。

代码示例

  1. // 假设你的公众号消息与事件接收 URL 为:https://easywechat.com/$APPID$/callback ...
  2. Route::post('{appId}/callback', function ($appId) {
  3. // ...
  4. $officialAccount = $openPlatform->officialAccount($appId);
  5. $server = $officialAccount->server; // ❗️❗️ 这里的 server 为授权方的 server,而不是开放平台的 server,请注意!!!
  6. $server->push(function () {
  7. return 'Welcome!';
  8. });
  9. return $server->serve();
  10. });
  11. // 调用授权方业务例子
  12. Route::get('how-to-use', function () {
  13. $officialAccount = $openPlatform->officialAccount('已授权的公众号 APPID', 'Refresh-token');
  14. // 获取用户列表:
  15. $officialAccount->user->list();
  16. $miniProgram = $openPlatform->miniProgram('已授权的小程序 APPID', 'Refresh-token');
  17. // 根据 code 获取 session
  18. $miniProgram->auth->session('js-code');
  19. // 其他同理
  20. });