mp-php-sdk
微信公众平台第三方授权php开发包, weixin mp developer SDK.
依赖https://github.com/dodgepudding/wechat-php-sdk
需要对wechat类属性做少量修改
protected $appid;
protected $access_token;
protected $postxml;
protected $_msg;
protected $_funcflag = false;
protected $_receive;
protected $_text_filter = true;
目前调用接口接收消息、回复消息、自定义菜单管理已实现,
网页授权、jsapi待完成。
#官方api类库
##第三方特殊的功能
(其他功能见wechat.class.php)
获取第三方平台access_token
获取预授权码
使用授权码换取公众号的授权信息
获取(刷新)授权公众号的令牌
获取授权方信息
获取授权方的选项设置信息
设置授权方的选项信息
推送component_verify_ticket协议
推送取消授权通知
##初始化动作
$options = array(
'token' => '1smzsbkxxhfz0vZ88UGFGv7Kczo', //填写第三方的key
'encodingaeskey' => 'WXdTheUxyPKOpI6zuhgCuIbCizpAG8OLRAgjunv', //填写第三方加密用的EncodingAESKey
'component_appid' => 'wx9c25cabb2a30', //填写第三方的app id
'component_appsecret' => '0c79e1f80cc0be99b20a18faeb', //填写第三方的密钥
'authorizer_appid' => 'wx58aa023bda74',//根据需要初始化
'component_verify_ticket' => ”eSBg9VPmFI43OvUHCv5ofzMGvNCG3F0LuQ84i“,//根据需要初始化
);
##被动接口方法
getRevComponentVerifyTicket() 获取微信服务器发来的component_verify_ticket
getUnauthAppid() 获取微信服务器发来的unauthorized_appid
##主动接口方法
checkComponentAuth() 获取第三方平台access_token
getPreAuthCode() 获取预授权码
getAuthRefreshToken() 通过授权码auth_code获取authorizer_access_token
getAuthAccessToken() 刷新authorizer_access_token
getAuthAppInfo() 获取授权应用的信息
getAuthAppOption() 获取授权应用的选项设置
setAuthAppOption() 设置授权应用的选项
##重写的4个方法
__construct()
private $token;
private $encodingAesKey;
private $encrypt_type;
private $component_appid;
private $component_appsecret;
private $component_verify_ticket;
private $component_access_token;
private $pre_auth_code;
以上属性均是第三方平台的
valid() appid换成了component_appid
checkAuth() 替换获取access_token的方式
reply() appid换成了component_appid
##剩下为从wechat.class.php原样复制函数
#调用示例
$options = array(
'token' => '1smzsbkxxhfz0vZ88UGFGv7Kczo', //填写第三方的key
'encodingaeskey' => 'WXdTheUxyPKOpI6zuhgCuIbCizpAG8OLRAgjunv', //填写第三方加密用的EncodingAESKey
'component_appid' => 'wx9c25cabb2a30', //填写第三方的app id
'component_appsecret' => '0c79e1f80cc0be99b20a18faeb', //填写第三方的密钥
'authorizer_appid' => 'wx58aa023bda74',//根据需要初始化
'component_verify_ticket' => ”eSBg9VPmFI43OvUHCv5ofzMGvNCG3F0LuQ84i“,//根据需要初始化
);
$mpObj = new Mp($options);
$mpObj->valid();
$component_verify_ticket = $mpObj->getRev()->getRevComponentVerifyTicket();
$mpObj = new Mp($options);
$mpObj->valid();
$type = $mpObj->getRev()->getRevType();
switch ($type) {
case Mp::MSGTYPE_TEXT:
$mpObj->text("hello, I'm wechat")->reply();
# code...
break;
default:
# code...
break;
}