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


    目录
    实例化
    微信服务器推送事件
    预授权
    获取预授权 Code
    获取预授权 URL
    API 列表
    使用授权码换取公众号的接口调用凭据和授权信息
    获取授权方的公众号帐号基本信息
    获取授权方的选项设置信息
    设置授权方的选项信息
    调用授权方 API
    实例化
    <?php
    use EasyWeChatFoundationApplication;
    $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 EasyWeChatOpenPlatformGuard;
    $server = $openPlatform->server;
    $server->setMessageHandler(function($event) use ($openPlatform) {
    // 事件类型常量定义在 EasyWeChatOpenPlatformGuard 类里
    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-domain.com/callback');
    // 获取跳转的 URL
    $response->getTargetUrl();
    用户授权后会带上 auth_code 跳转到 https://your-domain.com/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
    通过该方法会获得一个 EasyWeChatFoundationApplication 实例。

    当调用授权方 API 后,SDK 内部会自动获取和刷新 AuthorizerAccessToken 有效期。
    所以开发者无需处理授权方公众号的接口调用凭据 AuthorizerAccessToken。

    // 传递 AuthorizerAppId 和 AuthorizerRefreshToken(注意不是 AuthorizerAccessToken)即可。
    $app = $openPlatform->createAuthorizerApplication($authorizerAppId, $authorizerRefreshToken);
    // 调用方式与普通调用一致。

  • 相关阅读:
    春节不回家
    夜间突然发烧,无法入眠
    歌词写得真好
    近日看到网上许多BBS寻找SAP及ABAP程序的学习资料,本人深知学习的艰辛与不易,特贡献自己多年的学习资料,完全免费
    人生的真谛
    SMARTFORMS的调用方法(作者:曹玉平)
    自己给自己当医生
    将ocx添加到.NET
    AQtime + ocx/dll
    ActiveX:创建安装:
  • 原文地址:https://www.cnblogs.com/bainiu/p/8022729.html
Copyright © 2020-2023  润新知