不关注公众号可以获取openid吗_微信公众号粉丝迁移

目录

[toc]

微信公众号迁移

正常的公众号迁移直接通过微信操作就可以,如下图。但是因为udb数据里面存的是迁移前公众号的openid以及unionid,需要自行获取新旧openid以及unionid。

旧的用户信息要在迁移之前获取,第三步点击同意之后就公众号的接口就调不通了

f0e895c7d89b8ada3720f1351d8415e7.png

相应网址:客服文档

前期准备(APPID,APPSECRET,access_token)

名词解释

开发者ID(AppID):开发者ID是公众号开发识别码,配合开发者密码可调用公众号的接口能力。

AppID可以在 【微信公众平台-开发-基本配置】查看

开发者密码(AppSecret):开发者密码是校验公众号开发者身份的密码,具有极高的安全性。切记勿把密码直接交给第三方开发者或直接存储在代码中。如需第三方代开发公众号,请使用授权方式接入。

AppSecret现在不显示,需要把一开始申请的AppSecret保存下来,要不就只能重置

access_token:通过AppID以及AppSecret获取可以得到的调用接口的token,接口文档的接口基本都需要的一个参数,通过调接口获取

获取Access_token接口文档地址

PS: 有次数限制,一天2000次,一次获取的token两小时内有效

接口说明

https请求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

返回说明

{"access_token":"ACCESS_TOKEN","expires_in":7200}

错误说明以及返回码看文档

获取新旧openid以及unionid

这里只说明公众号文档接口,文档地址如下: 微信公众号官方文档

因为文档里面没有一次性获取所有信息的接口,因此需要单独获取各个信息,大概流程如下图:

40b4f64a30bf09cdd76d0239589a8f9c.png

1.获取用户openid

对应微信接口地址如下: 获取用户列表

公众号可通过本接口来获取帐号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。一次拉取调用最多拉取10000个关注者的OpenID,可以通过多次拉取的方式来满足需求。

PS:1.open_id列表并不是一直都添加在列表的最后面,如果是新关注的用户基本不会在列表最后,因此拉粉丝的时候建议一次性拉取完

2.接口有调用次数限制,如下补充

接口相关说明

http请求方式: GET(请使用https协议)
https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID

next_openid官方文档写着必须,但是不添加也可以调通接口,效果如下:

5516683fd33ca32693df8d3f4ad96bd6.png

2.获取用户详细信息(unionid)

对应微信接口地址如下: 获取用户详细信息

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

请注意,如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(http://open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。

PS: 1.有调用次数限制

2.一次最多只能获取100个用户的详细信息

3.这个接口返回有点慢,100个用户基本需要两秒

接口相关说明

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

返回说明

正常情况下,微信会返回下述JSON数据包给公众号:

{"subscribe": 1, "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", "nickname": "Band", "sex": 1, "language": "zh_CN", "city": "广州", "province": "广东", "country": "中国", "headimgurl":"http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0","subscribe_time": 1382694957,"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL""remark": "","groupid": 0,"tagid_list":[128,2],"subscribe_scene": "ADD_SCENE_QR_CODE","qr_scene": 98765,"qr_scene_str": ""
}

错误说明以及返回码看文档

3. 通过旧openid获取新openid

对应微信接口地址如下: 转换openid

接口说明

openid的API接口如下,可在 帐号迁移审核完成后 开始调用,并最多保留15天。若帐号迁移没完成,调用时无返回结果或报错。帐号迁移15天后,该转换接口将会失效、无法拉取到数据。

http请求方式: POST
URL:http://api.weixin.qq.com/cgi-bin/changeopenid?access_token=xxxxx
请求数据:
{"from_appid":"xxxxxxxx",//此处为原帐号的appid"openid_list":["oEmYbwN-n24jxvk4Sox81qedINkQ","oEmYbwH9uVd4RKJk7ZZg6SzL6tTo"]//需要转换的openid,即第1步中拉取的原帐号用户列表,这些必须是旧账号目前关注的才行,否则会出错;一次最多100个,不能多。
}

这里的请求是 HTTP 坑!!

返回数据:

{"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目前没有关注旧公众号}]
}

4. 获取新的unionid

同第二步,用新的openid去获取旧的openid

补充

公众号接口调用次数表

百度来的图如下,具体请根据公众号后台-开发-接口权限查看。

49f0850c5bf75bcedfee5fd9fc9eb6cc.png

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446015.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建筑专业规范大全 2020版_房屋建筑工程现行规范标准目录汇编(2020版)—建筑电气...

房屋建筑工程现行规范标准目录汇编(2020版)建筑电气规范编号规范名称GB 50034-2013建筑照明设计标准GB 50052-2009供配电系统设计规范GB 50053-201320kV及以下变电所设计规范GB 50057-2010建筑物防雷设计规范GB 50147-2010电气装置安装工程 高压电器施工及验收规范GB 50148-201…

基于Microsoft Visual Studio2019环境编写ffmpeg视频解码代码

旧代码 旧代码使用了很多过时的API,这些API使用后,vs会报编译器警告 (级别 3) C4996的错误即 函数被声明为已否决 报 C4996的错误 // test_ffmpeg.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #define SDL_MAIN_HANDLED …

16进制转double dotnet_终于把计算机进制弄明白了!

And theres one thing that I need from you我只需要你为我做一-件事Can you come through, through待在我的身边就好Through, yeah你可以抚慰一切不满And theres one thing that I need from you你可以过来Can you come through?待在我的身边吗-comethruJeremy Zucker进制进制…

FFmpeg源代码简单分析-架构图-解码

参考链接 FFmpeg源代码结构图 - 解码_雷霄骅的博客-CSDN博客_ffmpeg雷霄骅函数背景色 函数在图中以方框的形式表现出来。不同的背景色标志了该函数不同的作用: 粉红色背景函数:FFmpeg的API函数。白色背景的函数:FFmpeg的内部函数。黄色背景…

JUnit单元测试笔记

#01 JUnit简介 1.在项目工程中的Library,add 一个JUnit的Jar包,按需要添加JUnit 3 或 JUnit 4(分为被测试类与测试类较佳)。 2.单元测试是由程序员完成的。 3.Java 5 之前的版本只能 用JUnit 4前的版本(因为JUnit 4用到Java 5的…

jqery获取每个月天数_三年级《年、月、日》单元重要知识点整理汇总,以及难点题型解析...

昨天给大家分享了《计算经过的时间》问题,今天给大家分享的是《年、月、日》单元中重要的几个知识点,以及难点题型解析。知识点1 感知年、月、日一、结合生活实际,看看下面事情需要经过多少时间。跑完100米大约需要经过十几(秒)。2.打一场篮球…

FFmpeg源代码简单分析-架构图-编码

参考链接 FFmpeg源代码结构图 - 编码_雷霄骅的博客-CSDN博客_ffmpeg 源码函数背景色 函数在图中以方框的形式表现出来。不同的背景色标志了该函数不同的作用: 粉红色背景函数:FFmpeg的API函数。白色背景的函数:FFmpeg的内部函数。黄色背景的…

为革命,保护视力——为Eclipse更换暗黑皮肤及编辑页面的字体颜色主题

1.在Eclipse中的菜单栏的Help -> Eclipse Market 的 Search栏中输入 Eclipse Moonrise UI Theme ,之后自己执生啦(确保上网配置正确)。 2.与上面操作类似,输入 Eclipse Color Theme,选择安装。 3.选择菜单栏的Win…

FFmpeg源代码简单分析-通用- 内存的分配和释放(av_malloc()、av_free()等)

参考链接 FFmpeg源代码简单分析:内存的分配和释放(av_malloc()、av_free()等)_雷霄骅的博客-CSDN博客_av_malloc 内容介绍 内存操作的常见函数位于libavutil\mem.c中本文记录最常使用的几个函数: av_malloc()av_realloc()av_mal…

FFmpeg源代码简单分析-通用-结构体分析-AVFormatContext

参考链接 FFMPEG结构体分析:AVFormatContext_雷霄骅的博客-CSDN博客_avformatcontext AVFormatContext AVFormatContext是包含码流参数较多的结构体结构体的定义位于libavformat/avformat.h/*** Format I/O context.//格式化 I/O 上下文* New fields can be added…

plsql如何显示表结构图_【论文攻略】排版技巧——如何用 Word 编辑参考文献

每个需要写毕业论文的朋友都会发现,修改文献是一件非常痛苦的事情,虽然现在也有很多软件可以编排参考文献,其实 word 本身就可以。采用合适的编辑方法会方便地做到整齐,规范, 自动排序和交叉引用。 1. 以尾注的方式插入第一个参考文献将光标定…

FFmpeg源代码简单分析-通用-结构体分析-AVCodecContext

参考链接 FFMPEG结构体分析:AVCodecContext_雷霄骅的博客-CSDN博客_avcodeccontext AVCodecContext AVCodecContext是包含变量较多的结构体(感觉差不多是变量最多的结构体)结构体的定义位于avcodec.h关键的变量如下所示(仅仅考虑…

Hello OpenGL——OpenGL在Visual c++6.0安装和配置

1、下载并安装glut库opengl的glut库 GLUT不是OpenGL所必须的,但它会给我们的学习带来一定的方便,推荐安装。 Windows环境下的GLUT下载地址:(大小约为150k) http://www.opengl.org/resources/libraries/glut/glutdlls37…

FFmpeg源代码简单分析-通用-结构体分析-AVIOContext

参考链接 FFMPEG结构体分析:AVIOContext_雷霄骅的博客-CSDN博客_aviocontext AVIOContext AVIOContext是FFMPEG管理输入输出数据的结构体结构体的定义位于位于avio.h关键的变量如下所示 unsigned char *buffer:缓存开始位置int buffer_size&#xff1…

初闻动态规划

前言 本文以一道常见的算法面试题开篇,引入动态规划的基础概念, 介绍其思考过程。 正文 一、常见的一道算法面试题——上台阶 有一个楼梯总共n个台阶,只能往上走,每次只能上1个、2个台阶,总共有多少种走法。 解决…

FFmpeg源代码简单分析-通用-结构体分析-AVCodec

参考链接 FFMPEG结构体分析:AVCodec_雷霄骅的博客-CSDN博客_avcodec AVCodec AVCodec是存储编解码器信息的结构体结构体的定义位于avcodec.h文件中最主要的几个变量 const char *name:编解码器的名字,比较短const char *long_name&#xff…

SLF4J简介与使用(整合log4j)

SLF4J简介与使用(整合log4j) 一、概念 SLF4J的全称是Simple Logging Facade for Java,即简单日志门面。SLF4J并不是具体的日志框架,而是作为一个简单门面服务于各类日志框架,如java.util.logging, logback和log4j。 SLF4J提供了统一的记录…

multism中ui和uo应该怎么表示_王者荣耀:梦泪直播时谈到体验服大改动,表示装备的改动很关键...

王者荣耀的主播梦泪,大家都很熟了,也是一个很强的主播,他对于王者荣耀的理解,还是非常深刻的,而最近王者荣耀的体验服,进行了大改动,也是改变了很多的东西。对此,网友们也是非常的在…

怎么关闭或者卸载ivanti_电脑软件卸载不了怎么办,教您解决电脑软件无法卸载方法技巧...

我们在使用电脑的过程中,肯定会安装各种软件,但是一些软件在使用完之后就不会再使用了,但又无法卸载。下面由小编分享一下电脑安装的软件无法卸载解决方法,如果你在某卸载软件的时候出现无法卸载的情况,不妨通过以下方…

解决Github图片加载失败

问题描述 浏览自己Github某仓库的README.md内时,发现文档的图片始终加载不出,打开浏览器后台,冒出一片红,Failed to load resource: net::ERR_CONNECTION_RESET,如下图所示: 问题分析 可能造成这问题的原…