午夜免费_欧美一级免费看_欧美日韩一区二区视频在线观看_午夜视频在线_日本特黄a级高清免费大片_成年人黄色小视频

代授权方实现业务

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

实例化

<?php
$config = [
    // 开放平台第三方平台 APPID
    'appId' => 'wxefe41fdeexxxxxx', 

    // 开放平台第三方平台 Token
    'token' => 'dczmnau31ea9nzcnxxxxxxxxx',

    // 开放平台第三方平台 AES Key
    'aesKey' => 'easyswoole',

    // 开放平台第三方平台 Secret
    'secret' => 'your-AppSecret'
];

// 开放平台
$openPlatform = \EasySwoole\WeChat\Factory::openPlatform($config);

获取授权方实例

// 代公众号实现业务
$officialAccount = $openPlatform->officialAccount(string $appId, string $refreshToken);

// 代小程序实现业务
$miniProgram = $openPlatform->miniProgram(string $appId, string $refreshToken);
  • $appId 为授权方公众号 APPID,非开放平台第三方平台 APPID
  • $refreshToken 为授权方的 refresh_token,可通过 获取授权方授权信息 接口获得。

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

<?php
// 代公众号实现业务
$account = $officialAccount->account;

// 代小程序实现业务
$account = $miniProgram->account;

// 创建开放平台账号
// 并绑定公众号或小程序
$result = $account->create();

// 将公众号或小程序绑定到指定开放平台帐号下
$result = $account->bindTo($openAppId);

// 将公众号/小程序从开放平台帐号下解绑
$result = $account->unbindFrom($openAppid);

// 获取公众号/小程序所绑定的开放平台帐号
$result = $account->getBinding();

授权第三方平台注册的开放平台帐号只可用于获取用户 unionid 实现用户身份打通。第三方平台不可操作(包括绑定/解绑)通过 open.weixin.qq.com 线上流程注册的开放平台帐号。公众号只可将此权限集授权给一个第三方平台,授权互斥。

代码示例(在 EasySwoole 框架中使用)

使用示例 1:在 App\HttpController\Router.php (即路由)中使用:

示例代码如下:

<?php
namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\AbstractRouter;
use EasySwoole\Http\Request;
use EasySwoole\Http\Response;
use FastRoute\RouteCollector;

class Router extends AbstractRouter
{
    function initialize(RouteCollector $routeCollector)
    {
        // 假设你的公众号消息与事件接收 URL 为:https://easyswoole.wechat.com/callback?appId=Xxxx ...
        $routeCollector->post('/callback', function (Request $request, Response $response) {

            $appId = $request->getQueryParam('appId');

            // $openPlatform 为你实例化的开放平台对象,此处省略实例化步骤
            $officialAccount = $openPlatform->officialAccount($appId);

            // 这里的 server 为授权方的 server,而不是开放平台的 server,请注意!!!
            $server = $officialAccount->server;

            $server->push(function (\EasySwoole\WeChat\Kernel\Contracts\MessageInterface $message) {
                return new \EasySwoole\WeChat\Kernel\Messages\Text('Welcome!');
            });

            // $psr7esponse 是一个显式实现了 PSR-7 的对象,用户只需要处理该对象即可正确响应给微信
            $psr7Response = $server->serve($request); // Done!

            $response->withStatus($psr7Response->getStatusCode());

            // PSR-7 的 Header 并不是单纯的 k => v 结构
            foreach ($psr7Response->getHeaders() as $name => $values) {
                $response->withHeader($name, implode(", ", $values));
            }
            $response->write($psr7Response->getBody()->__toString());

            return false;
        });

        // 调用授权方业务例子
        $routeCollector->get('/how-to-use', function (Request $request, Response $response) {

            $officialAccount = $openPlatform->officialAccount('已授权的公众号 APPID', 'Refresh-token');

            // 获取用户列表:
            $officialAccount->user->list();

            $miniProgram = $openPlatform->miniProgram('已授权的小程序 APPID', 'Refresh-token');

            // 根据 code 获取 session
            $miniProgram->auth->session('js-code');

            // 其他同理

            return false;
        });
    }
}

使用示例 2:在 App\HttpController\Index.php (即控制器类)中使用,用户可在自定义其他控制器中实现:

假设你的开放平台第三方平台设置的授权事件接收 URL 为: https://easyswoole.wechat.com/openPlatform (其他事件推送同样会推送到这个 URL

示例代码如下:

首先在 App\HttpController\Router.php 中定义路由:

<?php
namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\AbstractRouter;
use FastRoute\RouteCollector;
use EasySwoole\WeChat\OpenPlatform\Server\Guard;

class Router extends AbstractRouter
{
    function initialize(RouteCollector $routeCollector)
    {
        // 假设你的公众号消息与事件接收 URL 为:https://easyswoole.wechat.com/callback?appId=Xxxx ...
        $routeCollector->post('/callback', '/Index/callback');

        // 调用授权方业务例子
        $routeCollector->get('/how-to-use', '/Index/how_to_use');
    }
}

然后在 App\HttpController\Index.php 控制器中处理事件:

<?php

namespace App\HttpController;

use EasySwoole\Http\AbstractInterface\Controller;
use EasySwoole\WeChat\Kernel\Messages\Message;

class Index extends Controller
{
    // 假设你的公众号消息与事件接收 URL 为:https://easyswoole.wechat.com/callback?appId=Xxxx ...
    public function callback()
    {
        $appId = $this->request()->getQueryParam('appId');

        // $openPlatform 为你实例化的开放平台对象,此处省略实例化步骤
        $officialAccount = $openPlatform->officialAccount($appId);

        // 这里的 server 为授权方的 server,而不是开放平台的 server,请注意!!!
        $server = $officialAccount->server;

        $server->push(function (\EasySwoole\WeChat\Kernel\Contracts\MessageInterface $message) {
            return new \EasySwoole\WeChat\Kernel\Messages\Text('Welcome!');
        });

        /** @var \Psr\Http\Message\ServerRequestInterface $psr7Request */
        $psr7Request = $this->request();

        // $psr7esponse 是一个显式实现了 PSR-7 的对象,用户只需要处理该对象即可正确响应给微信
        $psr7Response = $server->serve($psr7Request);

        $this->response()->withStatus($psr7Response->getStatusCode());

        // PSR-7 的 Header 并不是单纯的 k => v 结构
        foreach ($psr7Response->getHeaders() as $name => $values) {
            $this->response()->withHeader($name, implode(", ", $values));
        }
        $this->response()->write($psr7Response->getBody()->__toString());
    }

    // 调用授权方业务例子
    public function how_to_use()
    {
        $officialAccount = $openPlatform->officialAccount('已授权的公众号 APPID', 'Refresh-token');

        // 获取用户列表:
        $officialAccount->user->list();

        $miniProgram = $openPlatform->miniProgram('已授权的小程序 APPID', 'Refresh-token');

        // 根据 code 获取 session
        $miniProgram->auth->session('js-code');

        // 其他同理
    }
}
主站蜘蛛池模板: 91亚洲国产亚洲国产亚洲 | 综合久久中文字幕 | 91成人短视频下载 | 91精品在线观看视频 | a毛片在线看 | 久久久久久久久久久久国产精品 | 久久久久国产欧美 | 中文精品一区 | 国产欧美日韩精品一区二区三区 | 午夜成人影视 | 国产色拍 | 国产欧美精品区一区二区三区 | 99久久精品久久久久久清纯 | 亚洲免费在线播放 | 亚洲黄色录像片 | 日本一级少妇免费视频乌克兰裸体 | 天堂vs亚洲 | 91官网在线| 九九热九九| 久久天堂一区二区三区 | 91sex国产| 丰满少妇大力进入av亚洲葵司 | 91精品久久久久久久久中文字幕 | 在线一区二区三区视频 | 91影视| 国产.欧美.日韩 | 少妇3p欧美一区二区三区 | 久久久精品国产一区二区三区 | 9191在线观看 | 川上优av一区二区线观看 | 91视频免费观看网站 | 国产精品禁漫天堂视频 | 亚洲精品视频网站在线观看 | 久草999| 国产一级毛片国语版 | 免费成人午夜视频 | 91亚洲精品国产 | 91精品在线免费观看视频 | 午夜成人免费视频 | 91精品久久久久久综合 | 国产欧美日韩三区 |