Api模块 (处理需要access_token的主动接口) - 主送发送客服消息(文本、图片、语音、视频、音乐、图文) - 多客服功能(客服管理、多客服回话控制、获取客服聊天记录...) - 素材管理(临时素材、永久素材、素材统计) - 自定义菜单管理(创建、查询、删除菜单) - 微信JSSDK(生成微信JSSDK所需的配置信息) - 账号管理(生成带参数的二维码、长链接转短链接接口) - 用户管理(用户分组管理、设置用户备注名、获取用户基本信息、获取用户列表、网页授权获取用户基本信息) - 数据统计接口(开发中...)
Author: gaoming13 (gaoming13@yeah.net)
 *
 * @author 		gaoming13 <*****@*****.**>
 * @link 		https://github.com/gaoming13/wechat-php-sdk
 * @link 		http://me.diary8.com/
 */
require '../../autoload.php';
use Gaoming13\WechatPhpSdk\Api;
// 开发者中心-配置项-AppID(应用ID)
$appId = 'wx733d7f24bd29224a';
// 开发者中心-配置项-AppSecret(应用密钥)
$appSecret = 'c6d165c5785226806f42440e376a410e';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () use($m) {
    // 用户需要自己实现access_token的返回
    return $m->get('access_token');
}, 'save_access_token' => function ($token) use($m) {
    // 用户需要自己实现access_token的保存
    $m->set('access_token', $token, 0);
}));
header('Content-type: text/html; charset=utf-8');
list($err, $user_info) = $api->get_userinfo_by_authorize('snsapi_userinfo');
if ($user_info !== null) {
    var_dump($user_info);
} else {
    echo '授权失败!';
}
示例#2
0
// 开发者中心-配置项-服务器配置-Token(令牌)
$token = 'gaoming13';
// 开发者中心-配置项-服务器配置-EncodingAESKey(消息加解密密钥)
$encodingAESKey = '072vHYArTp33eFwznlSvTRvuyOTe5YME1vxSoyZbzaV';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// wechat模块 - 处理用户发送的消息和回复消息
$wechat = new Wechat(array('appId' => $appId, 'token' => $token, 'encodingAESKey' => $encodingAESKey));
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () use($m) {
    // 用户需要自己实现access_token的返回
    return $m->get('access_token');
}, 'save_access_token' => function ($token) use($m) {
    // 用户需要自己实现access_token的保存
    $m->set('access_token', $token, 0);
}));
// 获取微信消息
$msg = $wechat->serve();
// 回复用户消息
$wechat->reply('hehhe!');
// 主动发送文本消息 - 简洁模式
$api->send($msg->FromUserName, 'heheh');
// 主动发送文本消息
$api->send($msg->FromUserName, array('type' => 'text', 'content' => 'hello world!', 'kf_account' => 'test1@kftest'));
// 主动发送图片消息
$api->send($msg->FromUserName, array('type' => 'image', 'media_id' => 'Uq7OczuEGEyUu--dYjg7seTm-EJTa0Zj7UDP9zUGNkVpjcEHhl7tU2Mv8mFRiLKC', 'kf_account' => 'test1@kftest'));
// 主动发送语音消息
$api->send($msg->FromUserName, array('type' => 'voice', 'media_id' => 'rVT43tfDwjh4p1BV2gJ5D7Zl2BswChO5L_llmlphLaTPytcGcguBAEJ1qK4cg4r_', 'kf_account' => 'test1@kftest'));
/**
 * 生成授权地址的链接(用户点击后完成授权后,跳到回调页面获取用户信息)
 * `snsapi_userinfo` 授权方式获取用户信息(弹出授权页面,可通过openid拿到昵称、性别、所在地。
 * 即使在未关注的情况下,只要用户授权,也能获取其信息)
 *
 * @author 		gaoming13 <*****@*****.**>
 * @link 		https://github.com/gaoming13/wechat-php-sdk
 * @link 		http://me.diary8.com/
 */
require '../../autoload.php';
use Gaoming13\WechatPhpSdk\Api;
// 开发者中心-配置项-AppID(应用ID)
$appId = 'wx733d7f24bd29224a';
// 开发者中心-配置项-AppSecret(应用密钥)
$appSecret = 'c6d165c5785226806f42440e376a410e';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () use($m) {
    // 用户需要自己实现access_token的返回
    return $m->get('access_token');
}, 'save_access_token' => function ($token) use($m) {
    // 用户需要自己实现access_token的保存
    $m->set('access_token', $token, 0);
}));
header('Content-type: text/html; charset=utf-8');
$authorize_url = $api->get_authorize_url('snsapi_userinfo', 'http://wx.diary8.com/demo/snsapi/callback_snsapi_userinfo.php');
echo '<a href="' . $authorize_url . '">' . $authorize_url . '</a>';
示例#4
0
$token = 'gaoming13';
// 开发者中心-配置项-服务器配置-EncodingAESKey(消息加解密密钥)
$encodingAESKey = '072vHYArTp33eFwznlSvTRvuyOTe5YME1vxSoyZbzaV';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// wechat模块 - 处理用户发送的消息和回复消息
$wechat = new Wechat(array('appId' => $appId, 'token' => $token, 'encodingAESKey' => $encodingAESKey));
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () {
    // 用户需要自己实现access_token的返回
    global $m;
    return $m->get('access_token');
}, 'save_access_token' => function ($token) {
    // 用户需要自己实现access_token的保存
    global $m;
    $m->set('access_token', $token, 0);
}));
// 获取微信消息
$msg = $wechat->serve();
error_log(json_encode($msg), 0);
// 默认消息
$default_msg = "/微笑  欢迎关注本测试号:\n 回复1: 回复文本消息\n 回复2: 回复图片消息\n 回复3: 回复语音消息\n 回复4: 回复视频消息\n 回复5: 回复音乐消息\n 回复6: 回复图文消息\n 回复7: 主动回复";
// 用户关注微信号后 - 回复用户普通文本消息
if ($msg->MsgType == 'event' && $msg->Event == 'subscribe') {
    $wechat->reply($default_msg);
    exit;
}
// 用户回复1 - 回复文本消息
/**
 * 生成授权地址的链接(用户点击后完成授权后,跳到回调页面获取用户信息)
 * `snsapi_base` 授权方式获取用户信息(不弹出授权页面,直接跳转,只能获取用户openid)
 *
 * @author 		gaoming13 <*****@*****.**>
 * @link 		https://github.com/gaoming13/wechat-php-sdk
 * @link 		http://me.diary8.com/
 */
require '../../autoload.php';
use Gaoming13\WechatPhpSdk\Api;
// 开发者中心-配置项-AppID(应用ID)
$appId = 'wx733d7f24bd29224a';
// 开发者中心-配置项-AppSecret(应用密钥)
$appSecret = 'c6d165c5785226806f42440e376a410e';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () use($m) {
    // 用户需要自己实现access_token的返回
    return $m->get('access_token');
}, 'save_access_token' => function ($token) use($m) {
    // 用户需要自己实现access_token的保存
    $m->set('access_token', $token, 0);
}));
header('Content-type: text/html; charset=utf-8');
$authorize_url = $api->get_authorize_url('snsapi_base', 'http://wx.diary8.com/demo/snsapi/callback_snsapi_base.php');
echo '<a href="' . $authorize_url . '">' . $authorize_url . '</a>';
示例#6
0
// 开发者中心-配置项-服务器配置-Token(令牌)
$token = 'gaoming13';
// 开发者中心-配置项-服务器配置-EncodingAESKey(消息加解密密钥)
$encodingAESKey = '072vHYArTp33eFwznlSvTRvuyOTe5YME1vxSoyZbzaV';
// 这是使用了Memcached来保存access_token
// 由于access_token每日请求次数有限
// 用户需要自己定义获取和保存access_token的方法
$m = new Memcached();
$m->addServer('localhost', 11211);
// wechat模块 - 处理用户发送的消息和回复消息
$wechat = new Wechat(array('appId' => $appId, 'token' => $token, 'encodingAESKey' => $encodingAESKey));
// api模块 - 包含各种系统主动发起的功能
$api = new Api(array('appId' => $appId, 'appSecret' => $appSecret, 'get_access_token' => function () use($m) {
    // 用户需要自己实现access_token的返回
    return $m->get('access_token');
}, 'save_access_token' => function ($token) use($m) {
    // 用户需要自己实现access_token的保存
    $m->set('access_token', $token, 0);
}));
// 获取微信消息
$msg = $wechat->serve();
error_log(json_encode($msg), 0);
// 默认消息
$default_msg = <<<EOF
    /微笑  欢迎关注本测试号:
    回复1: 回复文本消息
    回复2: 回复图片消息
    回复3: 回复语音消息
    回复4: 回复视频消息
    回复5: 回复音乐消息
    回复6: 回复图文消息