用戶
用戶信息的獲取是微信開發中比較常用的一個功能了,以下所有的用戶信息的獲取與更新,都是 基于微信的 openid
的,并且是已關注當前賬號的,其它情況可能無法正常使用。
獲取用戶信息
獲取單個:
$user = $officialAccount->user->get($openId);
獲取多個:
$users = $officialAccount->user->select([$openId1, $openId2, ...]);
獲取用戶列表
$officialAccount->user->list($nextOpenId = null); // $nextOpenId 可選
使用示例:
<?php
$users = $officialAccount->user->list();
獲取結果 (result) 如下:
{
"total": 2,
"count": 2,
"data": {
"openid": [
"OPENID1",
"OPENID2"
]
},
"next_openid": "NEXT_OPENID"
}
修改用戶備注
$officialAccount->user->remark($openId, $remark); // 成功返回 boolean
使用示例:
$officialAccount->user->remark($openId, "僵尸粉");
拉黑用戶
<?php
$officialAccount->user->block(['openidxxxxx']);
// 或者拉黑多個用戶
$officialAccount->user->block(['openid1', 'openid2', 'openid3', ...]);
取消拉黑用戶
<?php
$officialAccount->user->unblock(['openidxxxxx']);
// 或者取消拉黑多個用戶
$officialAccount->user->unblock(['openid1', 'openid2', 'openid3', ...]);
獲取黑名單
$officialAccount->user->blacklist($beginOpenid = null); // $beginOpenid 可選
賬號遷移 openid 轉換
賬號遷移請從這里了解:https://kf.qq.com/product/weixinmp.html#hid=2488
微信用戶關注不同的公眾號,對應的 OpenID
是不一樣的,遷移成功后,粉絲的 OpenID
以目標帳號(即新公眾號)對應的 OpenID
為準。但開發者可以通過開發接口轉換 OpenID
,開發文檔可以參考: 提供一個 openid
轉換的 API
接口,當帳號遷移后,可以通過該接口:
- 將原帳號粉絲的
openid
轉換為新帳號的openid
。 - 將有授權關系用戶的
openid
轉換為新帳號的openid
。 - 將卡券關聯用戶的
openid
轉換為新帳號的openid
。
- 原帳號:準備要遷移的帳號,當審核完成且管理員確認后即被回收。
- 新帳號:用來接納粉絲的帳號。新帳號在整個流程中均能正常使用。
一定要按照下面的步驟來操作。
- 一定要在原帳號被凍結之前,最好是準備提交審核前,獲取原帳號的用戶列表。如果沒有原帳號的用戶列表,用不了轉換工具。如果原賬號被回收,這時候也沒辦法調用接口獲取用戶列表。
- 轉換
openid
的API
接口如下,可在帳號遷移審核完成后開始調用,并最多保留15
天。若帳號遷移沒完成,調用時無返回結果或報錯。帳號遷移15
天后,該轉換接口將會失效、無法拉取到數據。
$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"
}
]
}