微信開發------微信公衆號新老賬戶粉絲遷移問題

一、遷移注意事項

 I、賬號遷移申請提交後原賬號用戶信息無法再通過接口獲取

 II、申請提交後,opneid裝換接口最多保留15天,超過15天接口失效,無法繼續裝換openid

III、裝換的openid不應都能裝換完成,只有關注舊公衆號的用戶繼續關注新公衆號,openid才能完成裝換,否則無法得到裝換的新openid

二、遷移步驟

I、獲取舊公衆號用戶信息

1、通過微信api獲取,點擊查看官方文檔

   附官網說明:

公衆號可通過本接口來獲取帳號的關注者列表,關注者列表由一串OpenID(加密後的微信號,每個用戶對每個公衆號的OpenID是唯一的)組成。一次拉取調用最多拉取10000個關注者的OpenID,可以通過多次拉取的方式來滿足需求。

接口調用請求說明

http請求方式: GET(請使用https協議)
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
參數 是否必須 說明
access_token 調用接口憑證
next_openid 第一個拉取的OPENID,不填默認從頭開始拉取

返回說明

正確時返回JSON數據包:

{
    "total":2,
    "count":2,
    "data":{
    "openid":["OPENID1","OPENID2"]},
    "next_openid":"NEXT_OPENID"
}
參數 說明
total 關注該公衆賬號的總用戶數
count 拉取的OPENID個數,最大值爲10000
data 列表數據,OPENID的列表
next_openid 拉取列表的最後一個用戶的OPENID

錯誤時返回JSON數據包(示例爲無效AppID錯誤):

{"errcode":40013,"errmsg":"invalid appid"}

附:關注者數量超過10000時

當公衆號關注者數量超過10000時,可通過填寫next_openid的值,從而多次拉取列表的方式來滿足需求。

具體而言,就是在調用接口時,將上一次調用得到的返回中的next_openid值,作爲下一次調用中的next_openid值。

示例如下:

公衆賬號A擁有23000個關注的人,想通過拉取關注接口獲取所有關注的人,那麼分別請求url如下:https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN 返回結果:
{
  "total":23000,
  "count":10000,
  "data":{"
     openid":[
        "OPENID1",
        "OPENID2",
        ...,
        "OPENID10000"
     ]
   },
   "next_openid":"OPENID10000"
}https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID1返回結果:
{
   "total":23000,
   "count":10000,
   "data":{
     "openid":[
       "OPENID10001",
       "OPENID10002",
       ...,
       "OPENID20000"
     ]
   },
   "next_openid":"OPENID20000"
}https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID2返回結果(關注者列表已返回完時,返回next_openid爲空):
{
   "total":23000,
   "count":3000,
   "data":{"
       "openid":[
         "OPENID20001",
         "OPENID20002",
         ...,
         "OPENID23000"
       ]
   },
   "next_openid":"OPENID23000"
}

ps:將openid批量存入數據庫或者寫入文件存貯即可

2、通過網頁工具在線獲取用戶信息

 

,填寫完畢後點擊檢查問題就會返回用戶列表信息

 

II、提交遷移申請

提交遷移公衆號申請,如何遷移請查看微信官方文檔

III、轉換新公衆號用戶openid

1、接口說明,見文檔

附說明:

openid轉換接口

賬號遷移後,粉絲的openid會變化,微信用戶關注不同的公衆號,對應的openid是不一樣的,遷移成功後,粉絲的openid以目標帳號(即新公衆號)對應的OpenID爲準。但開發者可以通過開發接口轉換openid,開發文檔可以參考:

提供一個openid轉換的API接口,當帳號遷移後,可以通過該接口:
1. 將原帳號粉絲的openid轉換爲新帳號的openid。
2. 將有授權關係用戶的openid轉換爲新帳號的openid。
3. 將卡券關聯用戶的openid轉換爲新帳號的openid。

◆ 原帳號:準備要遷移的帳號,當審覈完成且管理員確認後即被回收。
◆ 新帳號:用來接納粉絲的帳號。新帳號在整個流程中均能正常使用。

一定要按照下面的步驟來操作。
1. 一定要在原帳號被凍結之前,最好是準備提交審覈前,獲取原帳號的用戶列表。如果沒有原帳號的用戶列表,用不了轉換工具。如果原賬號被回收,這時候也沒辦法調用接口獲取用戶列表。
如何獲取用戶列表見這裏:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140840

2. 轉換openid的API接口如下,可在帳號遷移審覈完成後開始調用,並最多保留15天。若帳號遷移沒完成,調用時無返回結果或報錯。帳號遷移15天后,該轉換接口將會失效、無法拉取到數據。
◆ URL:http://api.weixin.qq.com/cgi-bin/changeopenid?access_token=xxxxx
此處token爲新帳號的token
◆ 請求方式:post
◆ 請求數據:
{
"from_appid":"xxxxxxxx",//此處爲原帳號的appid
"openid_list":["oEmYbwN-n24jxvk4Sox81qedINkQ","oEmYbwH9uVd4RKJk7ZZg6S
zL6tTo"]//需要轉換的openid,即第1步中拉取的原帳號用戶列表,這些必須是舊賬號目前關注的纔行,否則會出錯;一次最多100個,不能多。
}
◆ 輸出數據:
{
"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"//這個openid目前沒有關注舊公衆號
}
]
}
◆ 錯誤碼:
63178:from_appid參數錯誤,和調用的賬號並沒有遷移關係
Ori_openid error:openid目前沒有關注舊公衆號。或者是將from_appid搞錯了,用成了新帳號的appid。

 

ps:轉換openid限制比較多,一次最多處理100條,合理把握時間

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章