AbleCloud PHP SDK
1.8.x
PHP SDK of AbleCloud API
|
Public 成员函数 | |
__construct ($accessToken, $jsTicket) | |
setAccessToken ($accessToken) | |
setJsTicket ($jsTicket) | |
getUser ($openId) | |
getUserOpenId ($userId) | |
setPhone ($openId, $phone, $verifyCode) | |
getDeviceQRCode ($physicalId, $subDomain, $withACShareCode=FALSE, $openId='', $timeout=300) | |
wxBindDevice ($openId, $physicalId) | |
wxUnbindDevice ($openId, $physicalId) | |
getLastError () | |
微信推送的事件的处理方法 | |
onEventSubscribe ($xmlMsg, $unionId='') | |
onEventUnsubscribe ($xmlMsg) | |
onDeviceEventBind ($xmlMsg, $deviceName, $subDomain) | |
onDeviceEventUnbind ($xmlMsg, $subDomain) | |
onDeviceEventSubscribeStatus ($xmlMsg, $doSync=TRUE) | |
onDeviceEventUnsubscribeStatus ($xmlMsg, $doSync=TRUE) | |
信息同步方法。 | |
syncBindings ($openId, $physicalIdOfStatus='') | |
syncBindingsByDevice ($physicalId, $deviceType, $subDomain) | |
checkAndBindDevice ($openId, $physicalId, $deviceName, $subDomain) | |
Public 属性 | |
const | WXBindUrl = "https://api.weixin.qq.com/device/bind?access_token=ACCESS_TOKEN" |
const | WXCompelBindUrl = "https://api.weixin.qq.com/device/compel_bind?access_token=ACCESS_TOKEN" |
const | WXUnbindUrl = "https://api.weixin.qq.com/device/unbind?access_token=ACCESS_TOKEN" |
const | WXCompelUnbindUrl = "https://api.weixin.qq.com/device/compel_unbind?access_token=ACCESS_TOKEN" |
const | WXQRCodeUrl = "https://api.weixin.qq.com/device/create_qrcode?access_token=ACCESS_TOKEN" |
const | WXListDevicesUrl = "https://api.weixin.qq.com/device/get_bind_device?access_token=ACCESS_TOKEN&openid=OPENID" |
const | WXListUserUrl = "https://api.weixin.qq.com/device/get_openid?access_token=ACCESS_TOKEN&device_type=DEVICE_TYPE&device_id=DEVICE_ID" |
const | WXGetStatUrl = "https://api.weixin.qq.com/device/get_stat?access_token=ACCESS_TOKEN&device_id=DEVICE_ID" |
AbleCloud-微信公众号服务接口。 主要用于同步用户信息及用户与设备的绑定关系。
ACBridgeWeChat::__construct | ( | $accessToken, | |
$jsTicket | |||
) |
构造函数。
$accessToken | string 是微信公众号的Access Token。注意:微信的Access Token的有效期是有期限限制的。 |
$jsTicket | string 字符串,是微信公众号的JS API Ticket。注意:微信公众号的JS API Ticket的有效期是有期限限制的。 |
ACBridgeWeChat::checkAndBindDevice | ( | $openId, | |
$physicalId, | |||
$deviceName, | |||
$subDomain | |||
) |
检查设备在微信平台的授权及绑定状态,并尝试绑定设备与指定的用户。
使用微信客户端扫描设备二维码绑定设备却无反应时,可能是因为:(1)设备未在微信平台授权;(2)或用户已经绑定了该设备。 本方法首先检查设备在微信平台的授权状态,其次检查设备是否已在微信平台绑定了该用户,之后尝试在AbleCloud平台绑定设备,并与微信平台同步用户绑定设备的信息。
$openId | string 拟要绑定设备的用户在微信平台的OpenID。 |
$physicalId | string 要检查其状态并被绑定的设备在微信平台上的ID,即设备的物理ID。 |
$deviceName | string 绑定设备和用户时,设备的显示名称。 |
$subDomain | string 设备在AbleCloud平台上所属的子域的名字。 |
ACBridgeWeChat::getDeviceQRCode | ( | $physicalId, | |
$subDomain, | |||
$withACShareCode = FALSE , |
|||
$openId = '' , |
|||
$timeout = 300 |
|||
) |
获取设备的二维码:微信二维码(附加设备在AbleCloud平台上所属的子域的信息),还可选择是否附加AbleCloud分享码。附加的信息是以JSON格式的字符串表示的。
$physicalId | string 表示设备的物理ID。 |
$subDomain | string 表示设备在AbleCloud平台中所属的子域的名字。如果值不为空字符串,则会以第三方自定义数据的方式在微信标准二维码的末尾附加该子域信息。 |
$withACShareCode | bool 为TRUE时表示需要附加设备的AbleCloud分享码,否则表示不需附加该信息。 |
$openId | string $withShareCode为TRUE时,需要指定获取该分享码的用户的微信OpenID。仅设备的管理员用户有权限获取设备的分享码。 |
$timeout | int $withShareCode为TRUE时,需要指定分享码的有效时长。该参数的类型为整数,是以秒为单位指定分享码的有效时长。 |
ACBridgeWeChat::getLastError | ( | ) |
取最近一次错误消息。
ACBridgeWeChat::getUser | ( | $openId | ) |
获取开发者用户信息。
$openId | string 字符串,是要检查的微信用户的OpenID。 |
ACBridgeWeChat::getUserOpenId | ( | $userId | ) |
获取用户的OpenId。
$userId | int 整数,是用户在AbleCloud平台上的ID。 |
ACBridgeWeChat::onDeviceEventBind | ( | $xmlMsg, | |
$deviceName, | |||
$subDomain | |||
) |
微信推送消息:MsgType为"device_event",Event为"bind"时的响应函数:将微信记录的用户与设备的绑定关系同步到AbleCloud平台。
$xmlMsg | string 微信推送的原始XML消息内容。 |
$deviceName | string 字符串,表示设备的显示名。 |
$subDomain | string 字符串,是将要绑定的设备在AbleCloud平台上所属的子域的名字。如果设备的二维码信息中包含了其所属子域的名字,则以二维码中的信息为准。 |
ACBridgeWeChat::onDeviceEventSubscribeStatus | ( | $xmlMsg, | |
$doSync = TRUE |
|||
) |
微信推送消息:MsgType为"device_event",Event为"subscribe_status"时的响应函数:微信订阅设备状态信息(目前微信仅查询WIFI设备的状态信息)。
$xmlMsg | string 微信推送的原始XML消息内容。 |
$doSync | bool 标记是否执行设备绑定状态的同步操作。同步设备绑定状态是指同步该设备在AbleCloud平台与微信平台上分别记录的绑定状态。该过程可能需要耗费一定的时间。缺省值为TRUE,表示需要执行同步操作。 |
ACBridgeWeChat::onDeviceEventUnbind | ( | $xmlMsg, | |
$subDomain | |||
) |
微信推送消息:MsgType为"device_event",Event为"unbind"时的响应函数:将微信记录的用户与设备解除绑定的关系同步到AbleCloud平台。
本方法解绑设备后会自动通知微信平台执行额外的设备绑定关系同步。
$xmlMsg | string 微信推送的原始XML消息内容。 |
$subDomain | string 字符串,是要解绑的设备在AbleCloud平台上所属的子域的名字。 |
ACBridgeWeChat::onDeviceEventUnsubscribeStatus | ( | $xmlMsg, | |
$doSync = TRUE |
|||
) |
微信推送消息:MsgType为"device_event",Event为"unsubscribe_status"时的响应函数:微信退订设备状态信息(目前微信仅查询WIFI设备的状态信息)。
$xmlMsg | string 微信推送的原始XML消息内容。 |
$doSync | bool 标记是否执行设备绑定状态的同步操作。同步设备绑定状态是指同步该设备在AbleCloud平台与微信平台上分别记录的绑定状态。该过程可能需要耗费一定的时间。缺省值为TRUE,表示需要执行同步操作。 |
ACBridgeWeChat::onEventSubscribe | ( | $xmlMsg, | |
$unionId = '' |
|||
) |
微信推送消息:MsgType为"event",Event为"subscribe"时的响应函数:将微信用户注册为开发者所提供服务的用户。
$xmlMsg | string 微信推送的原始XML消息内容。 |
$unionId | string 字符串。是关注公众号的用户在微信平台对应的UnionID。如果不提供该参数,则无法识别同一个用户关注开发者的多个微信公众号的情况。 |
ACBridgeWeChat::onEventUnsubscribe | ( | $xmlMsg | ) |
微信推送消息:MsgType为"event",Event为"unsubscribe"时的响应函数:在AbleCloud平台中解除该用户与所有设备的绑定关系。
$xmlMsg | string 微信推送的原始XML消息内容。 |
ACBridgeWeChat::setAccessToken | ( | $accessToken | ) |
设置/更新微信公众号的Access Token。
$accessToken | string 是新的Access Token。 |
ACBridgeWeChat::setJsTicket | ( | $jsTicket | ) |
设置/更新微信公众号的JS API Ticket。
$jsTicket | string 是新的JS API Ticket。 |
ACBridgeWeChat::setPhone | ( | $openId, | |
$phone, | |||
$verifyCode | |||
) |
设置用户的手机号。
$openId | string 字符串,是微信用户的OpenID。 |
$phone | string 字符串,是用户的新手机号。 |
$verifyCode | string 字符串,是用户修改手机号码的验证码。 |
ACBridgeWeChat::syncBindings | ( | $openId, | |
$physicalIdOfStatus = '' |
|||
) |
针对指定用户,同步AbleCloud平台与微信硬件平台记录的用户-设备绑定信息。同时检查指定设备的在线状态。
在响应微信硬件平台推送的subscribe_status/unsubscribe_status事件(比如用户打开/关闭公众号主界面)的方法 onDeviceEventSubscribeStatus 及 onDeviceEventUnsubscribeStatus 中, 可选择性地调用本方法同步数据。开发者也可根据实际情况主动调用本方法同步数据,比如处理蓝牙设备绑定关系的同步,或者将用户从“家”或“房间”里移除之后。
$openId | string 待检查的用户的微信OpenID。 |
$physicalIdOfStatus | string 是要查询其在线状态的设备的物理ID。 |
ACBridgeWeChat::syncBindingsByDevice | ( | $physicalId, | |
$deviceType, | |||
$subDomain | |||
) |
针对指定设备,同步AbleCloud平台与微信硬件平台记录的用户-设备绑定信息。
在调用AbleCloud平台提供的API解除了某用户与设备的绑定关系后,或者将设备从“房间”或“家”中移除后,开发者需要调用本方法在AbleCloud平台与微信平台之间同步设备与用户的绑定关系。 在其它情况下,开发者也可根据实际情况主动调用本方法同步数据。
$physicalId | string 是设备的物理ID。 |
$deviceType | string 是本设备在微信公众号平台上的设备类型。 |
$subDomain | string 是本设备在AbleCloud平台上所属的子域的名字。 |
ACBridgeWeChat::wxBindDevice | ( | $openId, | |
$physicalId | |||
) |
通知微信绑定设备与用户。普通绑定失败时尝试强制绑定。
$openId | string 要绑定设备的用户的OpenID。 |
$physicalId | string 要被绑定的设备在微信平台上的ID,即设备的物理ID。 |
ACBridgeWeChat::wxUnbindDevice | ( | $openId, | |
$physicalId | |||
) |
通知微信解绑设备。普通解绑失败时尝试强制解绑。
$openId | string 要解绑设备的用户的OpenID。 |
$physicalId | string 要被解绑的设备在微信平台上的ID,即设备的物理ID。 |
const ACBridgeWeChat::WXBindUrl = "https://api.weixin.qq.com/device/bind?access_token=ACCESS_TOKEN" |
const ACBridgeWeChat::WXCompelBindUrl = "https://api.weixin.qq.com/device/compel_bind?access_token=ACCESS_TOKEN" |
const ACBridgeWeChat::WXCompelUnbindUrl = "https://api.weixin.qq.com/device/compel_unbind?access_token=ACCESS_TOKEN" |
const ACBridgeWeChat::WXGetStatUrl = "https://api.weixin.qq.com/device/get_stat?access_token=ACCESS_TOKEN&device_id=DEVICE_ID" |
const ACBridgeWeChat::WXListDevicesUrl = "https://api.weixin.qq.com/device/get_bind_device?access_token=ACCESS_TOKEN&openid=OPENID" |
const ACBridgeWeChat::WXListUserUrl = "https://api.weixin.qq.com/device/get_openid?access_token=ACCESS_TOKEN&device_type=DEVICE_TYPE&device_id=DEVICE_ID" |
const ACBridgeWeChat::WXQRCodeUrl = "https://api.weixin.qq.com/device/create_qrcode?access_token=ACCESS_TOKEN" |
const ACBridgeWeChat::WXUnbindUrl = "https://api.weixin.qq.com/device/unbind?access_token=ACCESS_TOKEN" |