1. 程式人生 > >多個公眾號(服務號和訂閱號)之間需要使用者帳號互通

多個公眾號(服務號和訂閱號)之間需要使用者帳號互通

由於同一公司下多個公眾號之間需要使用者帳號互通,微信開放平臺提供了UnionID機制,來解決此問題

通過獲取使用者基本資訊介面,開發者可通過OpenID來獲取使用者基本資訊,而如果開發者擁有多個公眾號,可使用以下辦法通過UnionID機制來在多公眾號之間進行使用者帳號互通。

1. 將多個公眾號繫結到同一個微信開放平臺(open.weixin.qq.com)帳號下,即同一個Union下

2. 通過獲取使用者基本資訊介面中的UnionID來區分使用者的唯一性,不過需要注意的是:公眾號只有在被繫結到微信開放平臺帳號下後,才會獲取UnionID。只要是同一個微信開放平臺帳號下的公眾號,使用者的UnionID是唯一的。換句話說, 同一使用者,對同一個微信開放平臺帳號下的不同應用,UnionID是相同的。

一、註冊微信開放平臺

地址:http://open.weixin.qq.com/

二、繫結微信公眾號

點選頂部 “管理中心”,選擇進入“公眾號”,再點選“繫結公眾號”

注意:只有通過微信認證的公眾號才能繫結。

三、獲取使用者基本資訊

在不同的公眾賬號下openid是不一樣的,而他們的unionid卻是一樣的

這是使用高階介面中的獲取使用者基本資訊來實現,方法參考 微信公眾平臺開發(86) 獲取使用者基本資訊

在第一個公眾號下面獲得的方倍的使用者資訊如下:

{
    "subscribe": 1,
    "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",
    
"nickname": "方倍", "sex": 1, "language": "zh_CN", "city": "廣東", "province": "深圳", "country": "中國", "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0", "subscribe_time": 1375706487, "unionid": "oTBn-jt2RQSHdBoJQYFSdnZo8BBQ" }

在第一個公眾號下面獲得的方倍的使用者資訊如下:

{
    "subscribe": 1,
    "openid": "ouBMEj6WFnUFBIUKe83VD7s7dft9",
    "nickname": "方倍",
    "sex": 1,
    "language": "zh_CN",
    "city": "廣東",
    "province": "深圳",
    "country": "中國",
    "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0",
    "subscribe_time": 1375726425,
    "unionid": "oTBn-jt2RQSHdBoJQYFSdnZo8BBQ"
}

四、UnionID的意義

對於擁有多個賬號的企業來說,unionid可以幫助識別不同公眾賬號下的使用者是否是同一個人。這樣在不同賬號下對該使用者提供的服務可以連續起來了。

還可以去除重複關注的使用者數,便於統計真實的關注使用者總數。