用戶(hù)
用戶(hù)信息的獲取是微信開(kāi)發(fā)中比較常用的一個(gè)功能了,以下所有的用戶(hù)信息的獲取與更新,都是 基于微信的 openid 的,并且是已關(guān)注當(dāng)前賬號(hào)的,其它情況可能無(wú)法正常使用。
獲取用戶(hù)信息
獲取單個(gè):
$user = $officialAccount->user->get($openId);
獲取多個(gè):
$users = $officialAccount->user->select([$openId1, $openId2, ...]);
獲取用戶(hù)列表
$officialAccount->user->list($nextOpenId = null); // $nextOpenId 可選
使用示例:
<?php
$users = $officialAccount->user->list();
獲取結(jié)果 (result) 如下:
{
"total": 2,
"count": 2,
"data": {
"openid": [
"OPENID1",
"OPENID2"
]
},
"next_openid": "NEXT_OPENID"
}
修改用戶(hù)備注
$officialAccount->user->remark($openId, $remark); // 成功返回 boolean
使用示例:
$officialAccount->user->remark($openId, "僵尸粉");
拉黑用戶(hù)
<?php
$officialAccount->user->block(['openidxxxxx']);
// 或者拉黑多個(gè)用戶(hù)
$officialAccount->user->block(['openid1', 'openid2', 'openid3', ...]);
取消拉黑用戶(hù)
<?php
$officialAccount->user->unblock(['openidxxxxx']);
// 或者取消拉黑多個(gè)用戶(hù)
$officialAccount->user->unblock(['openid1', 'openid2', 'openid3', ...]);
獲取黑名單
$officialAccount->user->blacklist($beginOpenid = null); // $beginOpenid 可選
賬號(hào)遷移 openid 轉(zhuǎn)換
賬號(hào)遷移請(qǐng)從這里了解:https://kf.qq.com/product/weixinmp.html#hid=2488
微信用戶(hù)關(guān)注不同的公眾號(hào),對(duì)應(yīng)的 OpenID 是不一樣的,遷移成功后,粉絲的 OpenID 以目標(biāo)帳號(hào)(即新公眾號(hào))對(duì)應(yīng)的 OpenID 為準(zhǔn)。但開(kāi)發(fā)者可以通過(guò)開(kāi)發(fā)接口轉(zhuǎn)換 OpenID,開(kāi)發(fā)文檔可以參考: 提供一個(gè) openid 轉(zhuǎn)換的 API 接口,當(dāng)帳號(hào)遷移后,可以通過(guò)該接口:
- 將原帳號(hào)粉絲的
openid轉(zhuǎn)換為新帳號(hào)的openid。 - 將有授權(quán)關(guān)系用戶(hù)的
openid轉(zhuǎn)換為新帳號(hào)的openid。 - 將卡券關(guān)聯(lián)用戶(hù)的
openid轉(zhuǎn)換為新帳號(hào)的openid。
- 原帳號(hào):準(zhǔn)備要遷移的帳號(hào),當(dāng)審核完成且管理員確認(rèn)后即被回收。
- 新帳號(hào):用來(lái)接納粉絲的帳號(hào)。新帳號(hào)在整個(gè)流程中均能正常使用。
一定要按照下面的步驟來(lái)操作。
- 一定要在原帳號(hào)被凍結(jié)之前,最好是準(zhǔn)備提交審核前,獲取原帳號(hào)的用戶(hù)列表。如果沒(méi)有原帳號(hào)的用戶(hù)列表,用不了轉(zhuǎn)換工具。如果原賬號(hào)被回收,這時(shí)候也沒(méi)辦法調(diào)用接口獲取用戶(hù)列表。
如何獲取用戶(hù)列表見(jiàn)這里:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140840
- 轉(zhuǎn)換
openid的API接口如下,可在帳號(hào)遷移審核完成后開(kāi)始調(diào)用,并最多保留15天。若帳號(hào)遷移沒(méi)完成,調(diào)用時(shí)無(wú)返回結(jié)果或報(bào)錯(cuò)。帳號(hào)遷移15天后,該轉(zhuǎn)換接口將會(huì)失效、無(wú)法拉取到數(shù)據(jù)。
$officialAccount->user->changeOpenid($oldAppId, $openidList);
返回值樣例:
{
"errcode":0,
"errmsg":"ok",
"result_list":[
{
"ori_openid":"oEmYbwN-n24jxvk4Sox81qedINkQ",
"new_openid":"o2FwqwI9xCsVadFah_HtpPfaR-X4",
"err_msg":"ok"
},
{
"ori_openid":"oEmYbwH9uVd4RKJk7ZZg6SzL6tTo",
"err_msg":"ori_openid error"
}
]
}