微信开发------微信公众号新老账户粉丝迁移问题

2023-11-12

一、迁移注意事项

 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条,合理把握时间

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信开发------微信公众号新老账户粉丝迁移问题 的相关文章

随机推荐

  • hashmap链表转化成红黑树的过程以及红黑树转化成链表的过程

    1 链表转红黑树的实现代码 该方法主要是将单向链表转化成双向链表 为了后面操作 比如在后面将红黑树放到数组上时 以及红黑树转成链表时简化操作 final void treeifyBin Node
  • C语言分别判断大小写英文字母,空格,数字和其他字符的个数

    输入一段字符串 分别判断小写字母 大写字母 数字 空格和其他字符各有几个 ASCII码中空格的ASCII码为32 A为65 a为97 程序代码 include
  • 世纪末的星期

    曾有邪教称1999年12月31日是世界末日 当然该谣言已经不攻自破 还有人称今后的某个世纪末的12月31日 如果是星期一则会 有趣的是 任何一个世纪末的年份的12月31日都不可能是星期一 于是 谣言制造商 又修改为星期日 1999年的12月
  • trap 信号捕获

    trap 信号捕获 命令说明 示例 产生信号 语法 选项说明 命令说明 Trap signals and other events Defines and activates handlers to be run when the shel
  • List去除空元素

    一 Collections singleton 一个用于创建只包含一个元素的不可变集合的方法 创建一个只包含一个值为null的元素的集合 list removeAll Collections singleton null list remo
  • Node.js搭建WEB服务器

    Node js搭建WEB服务器 1 安装Node和nodemon插件 2 引入http模块 3 创建服务监听端口 4 解析接口地址 5 解析get参数 6 解析post参数 1 安装Node和nodemon插件 全局安装nodemon插件
  • 超详细 Springboot 线程池用法一(自用)

    目录 前言 1 EnableAsync 和 Async 很关键 2 Thread 和 Runnable 要谨慎 3 数据类型 线程安全 要牢记 4 Configuration 和 Bean 很方便 5 ThreadPoolExecutor
  • uniapp图片裁剪插件开发整理

    工作之余 把工作中需要用的一个小工具封装成uniapp插件分享给大家 图片裁剪 使用场景 头像裁剪 对照片尺寸有特定要求的 实现思路 布局 做上下两层展示 下层展示一张亮度低一点全图 充当遮住部分 效果可以自定义比如说高斯模糊等 上层展示裁
  • 网络调试助手-Win & Linux

    网络调试助手 Win Linux 一 网络调试助手 二 Windows版 三 Linux版 参考链接 一 网络调试助手 PC桌面或嵌入式的客户端开发时常需要进行收发调试 常用的工具便是网络调试助手 支持UDP TCP客户端 服务端的模拟 二
  • [王垠系列]TeXmacs:一个真正“所见即所得”的排版系统

    TeXmacs 一个真正 所见即所得 的排版系统 好久没有推荐过自己喜欢的软件了 现在推荐一款我在美国做数学作业的私家法宝 TeXmacs 我恐怕不可能跟以前那么有闲心写个长篇的 TeXmacs 说明文档了 不过这东西如此的简单好用 所以基
  • STM32内部Flash读写问题

    STM32Flash读写之Flash调试技巧 文章目录 1 先熟悉所用MCU的Flash存储大小以及扇区地址 2 Flsah写之前为什么要先擦除 3 Flash擦除长时间占用CPU 4 实测Flash擦写占用的时间 5 Flash读写要注意
  • PTA 按等级统计学生成绩

    PTA 按等级统计学生成绩 int set grade struct student p int n int i count 0 for i 0 i
  • mysql设置update_time自动更新和create_time手动更新

    update time 设置update time 在更新时候才触发获取当前时间 关键语句 ON UPDATE CURRENT TIMESTAMP eg ALTER TABLE t emp tag CHANGE update time up
  • linux防火墙的开启、关闭、永久关闭

    防火墙是什么 我们为什么需要关闭防火墙 防火墙就是一个保护我们系统的软件服务 默认开启 但是我们在实际开发中 如果需要使用宿主机来连接虚拟机里面的redis mysql nginx tomcat等服务 需要将防火墙关闭 否则这个保护机制将不
  • SmartNews 基于 Flink 的 Iceberg 实时数据湖实践

    摘要 本文整理自 SmartNews 数据平台架构师 Apache Iceberg Contributor 戢清雨 在 Flink Forward Asia 2022 实时湖仓专场的分享 本篇内容主要分为五个部分 1 SmartNews 数
  • Edge浏览器新建标签页如何更改为指定网址?

    困扰我好久的问题 在网上找了半天 终于解决了 我就想在浏览器点加号打开新窗口时跳转到百度 便于查找 扩展 获取扩展 搜索New Tab Changer
  • 单链表的增删改查操作详解之C语言版

    单链表在应用中经常用到增加新结点 删除结点 修改结点 查找结点等操作 本文针对上述基本操作做了简单汇总 并给出了详细的算法 一 在单链表中增加结点 在链表中增加新结点是经常要用到的操作 增加新结点大致可以分为在链表末尾增加 在链表头增加 在
  • CTFHUB - SQL注入-整数型和字符型注入

    目录 一 前言 二 使用工具 三 知识点 四 整数型注入 1 sqlmap工具注入 2 手工注入 知识点 步骤 复现 五 字符型注入 复现 1 手工注入 2 sqlmap注入 一 前言 SQL注入即是指web应用程序对用户输入数据的合法性没
  • c++服务端开发心跳机制

    高并发服务器整体框架 服务器心跳机制 由于线路等原因 中间过程可能发生 断线 服务器和设备端程序都无法侦测到 为 了能够及时发现断线 而启动断线重连机制 所以 在客户端应该能定时发送测试的 心跳 包 同时 为了减轻服务器端的压力 服务器对于
  • 微信开发------微信公众号新老账户粉丝迁移问题

    一 迁移注意事项 I 账号迁移申请提交后原账号用户信息无法再通过接口获取 II 申请提交后 opneid装换接口最多保留15天 超过15天接口失效 无法继续装换openid III 装换的openid不应都能装换完成 只有关注旧公众号的用户