账号迁移后,粉丝的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:https://api.weixin.qq.com/cgi-bin/changeopenid?access_token=xxxxx
此处token为新账号的token
◆ 请求方式:post
◆ 请求数据:
{ "from_appid": "xxxxxxxx", //此处为原账号的appid "openid_list": ["oEmYbwN-n24jxvk4Sox81qedINkQ", "oEmYbwH9uVd4RKJk7ZZg6SzL6tTo"]//需要转换的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。