Skip to content
Dong Chen edited this page Jun 24, 2016 · 15 revisions

wechat-client 使用文档

2.x 安装

使用composer安装

composer require cdcchen/wechat-client:^2.0.0

基本使用方法

第一步

获取access token

try {
    use cdcchen\wechat\qy\TokenClient;
    $token = TokenClient::getDefaultToken($corpId, $secret);
} catch (RequestException $e) {
    // 所有请求返回的http status 值等于200的都会抛出此异常
} catch (ResponseException $e) {
    // 所有返回错误信息的请求都会抛出此异常
}
catch (\Exception $e) {
    // 未知异常
}

返回的$token是一个数组:

$token = [
    "access_token" => "1zdPa4XiLHLWghSf2FgpmmIs5t-6xewtSMru-pYOvFIWv-gBHEMYeKM7dRsH-ocv",
    "expires_in" => 7200
]

第二步

使用具体的接口,以获取一个用户的信息为例:

use cdcchen\net\curl\HttpResponse;
use cdcchen\wechat\qy\contact\UserInfoRequest;
use cdcchen\wechat\qy\DefaultClient;

$accessToken = 'xxxxxx';
$client = new DefaultClient($accessToken);
$request = (new UserInfoRequest())->setUserId('user_id');
try {
    $data = $client->sendRequest($request, function (HttpResponse $response) {
        return $response->getData();
    });
} catch (RequestException $e) {
    // 所有请求返回的http status 值等于200的都会抛出此异常
} catch (ResponseException $e) {
    // 所有返回错误信息的请求都会抛出此异常
}
catch (\Exception $e) {
    // 未知异常
}

其它request使用方法相同。

SDK封装的便捷Client使用方法

以获取一个用户的信息为例:

use cdcchen\wechat\qy\UserClient;

$client = new UserClient($accessToken);
try {
    $data = $client->getInfo('user_id');
} catch (RequestException $e) {
    // 所有请求返回的http status 值等于200的都会抛出此异常
} catch (ResponseException $e) {
    // 所有返回错误信息的请求都会抛出此异常
}
catch (\Exception $e) {
    // 未知异常
}

企业号主动调用接口对应的RequestClient列表

企业号被动接口文档

暂无

二次开发

基础Client列表

  • cdcchen\wechat\qy\BaseClient 所有Client的父类

  • cdcchen\wechat\qy\DefaultClient 继承自BaseClient,主动消息接口的Client类,具体业务的Client都是继承自此类。

  • cdcchen\wechat\qy\suite\ServiceClient 继承自BaseClient,套件相关主动接口的Client类。

    其它所有的Client均是具体的业务接口类,以后添加新功能可以自行进行扩展。

基础Request列表

  • cdcchen\wechat\qy\BaseRequest 所有Request的父类,具体业务的Request都是继承自此类。