微信公众平台开发技术-获取关注者列表
原创公众号可通过本接口来获取账号的关注者列表,关注者列表由一串 OpenID(加密后的微信号,每个用户对每个公众号的 OpenID 是唯一的)组成。一次最多拉取 10000 个关注者的 OpenID,可以通过多次拉取的方式来满足需求。
• 接口调用请求说明。
HTTP 请求方式:GET(使用 HTTPS)。
https://www.wechatadd.com;next_openid=NEXT_OPENID
表 8-23 对获取关注者列表所用参数进行了说明,具体如下。
表 8-23 获取关注者列表参数说明
参数名称 | 是否必须 | 描述 |
access_token | 是 | 调用接口凭证 |
next_openid | 是 | 第一个拉取的 OpenID,不填默认从头开始拉取 |
• 返回说明。
正确时返回的 JSON 数据包:
{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}
表 8-24 对返回参数进行了说明,具体如下。
表 8-24 获取关注者列表返回参数说明

错误时返回的 JSON 数据包(示例为无效 AppID 错误):
{"errcode":40013,"errmsg":"invalid appid"}
当公众号关注者数量超过 10000 时,可填写 next_openid 的值,通过多次拉取列表的方式来满足需求。具体而言,就是在调用接口时,将上一次调用得到的返回的 next_openid 值作为下一次调用中的 next_openid 值。
示例如下。
公众号 A 拥有 23000 个关注的人,要通过拉取关注接口获取所有关注的人,那么请求 URL 分别如下。
https://www.wechatadd.com?access_token=ACCESS_TOKEN,返回结果如下:
1. { 2. "total":23000, 3. "count":10000, 4. "data":{" 5. openid":[ 6. "OPENID1", 7. "OPENID2", 8. ..., 9. "OPENID10000" 10. ] 11. }, 12. "next_openid":"OPENID10000" 13. }
https://www.wechatadd.com?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID1,返回结果如下:
1. { 2. "total":23000, 3. "count":10000, 4. "data":{ 5. "openid":[ 6. "OPENID10001", 7. "OPENID10002", 8. ..., 9. "OPENID20000" 10. ] 11. }, 12. "next_openid":"OPENID20000" 13. }
https://www.wechatadd.com?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID2,返回结果(关注者列表已返回完时,返回 next_openid 为空)如下:
1. { 2. "total":23000, 3. "count":3000, 4. "data":{" 5. "openid":[ 6. "OPENID20001", 7. "OPENID20002", 8. ..., 9. "OPENID23000" 10. ] 11. }, 12. "next_openid":"OPENID23000" 13. }
公众号经常需要用到一些临时性的多媒体素材,例如,在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过 media_id 来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。
需要注意的内容如下。
(1)临时素材的 media_id 是可复用的。
(2)媒体文件在微信后台保存时间为 3 天,即 3 天后 media_id 失效。
(3)上传临时素材的格式、大小限制与公众平台官网一致。
图片(image):2 MB,支持 PNG、JPEG(JPG)、GIF 格式。
语音(voice):2 MB,播放长度不超过 60 s,支持 AMR、MP3 格式。
视频(video):10 MB,支持 MP4 格式。
缩略图(thumb):64 KB,支持 JPG 格式。
(4)需使用 HTTPS 调用本接口。
• 接口调用请求说明。
HTTP 请求方式:POST/FORM,使用 HTTPS。
https://www.wechatadd.com;type=TYPE
调用示例(使用 curl 命令,用 FORM 表单方式上传一个多媒体文件):
curl -F media=@test.jpg "https://www.wechatadd.com? access_token=ACCESS_TOKEN&type=TYPE"
表 8-25 对所用参数进行了说明,具体如下。
表 8-25 新增临时素材参数说明
参数名称 | 是否必须 | 说明 |
access_token | 是 | 调用接口凭证 |
type | 是 | 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb) |
media | 是 | form-data 中的媒体文件标识,有 filename、filelength、content-type 等信息 |
• 返回说明。
正确情况下返回的 JSON 数据包结果如下:
{"type":"TYPE","media_id":"MEDIA_ID","created_at":123456789}
表 8-26 对返回参数进行了说明,具体如下。
表 8-26 返回数据包参数说明
参数名称 | 描述 |
type | 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb,主要用于视频与音乐格式的缩略图) |
media_id | 媒体文件上传后获取标识 |
created_at | 媒体文件上传时间戳 |
错误情况下返回的 JSON 数据包示例如下(示例为无效媒体类型错误):
{"errcode":40004,"errmsg":"invalid media type"}
获取临时素材公众号可以使用本接口获取临时素材(即下载临时的多媒体文件)。请注意,视频文件不支持 HTTPS 下载,调用该接口需 HTTP。
• 接口调用请求说明。
HTTP 请求方式:GET,HTTPS 调用。
https://www.wechatadd.com;media_id=MEDIA_ID
请求示例(示例为通过 curl 命令获取多媒体文件)如下:
curl -I-G "https://www.wechatadd.com;media_id=MEDIA_ID"
表 8-27 对所用参数进行了说明,具体如下。
表 8-27 获取临时素材参数说明
参数名称 | 是否必须 | 说明 |
access_token | 是 | 调用接口凭证 |
media_id | 是 | 媒体文件 ID |
• 返回说明。
正确情况下返回的 HTTP 头如下:
1. HTTP/1.1 200 OK 2. Connection: close 3. Content-Type: image/jpeg 4. Content-disposition: attachment; filename="MEDIA_ID.jpg" 5. Date: Sun, 06 Jan 2013 10:20:18 GMT 6. Cache-Control: no-cache, must-revalidate 7. Content-Length: 339721 8. curl -G "https://www.wechatadd.com= ACCESS_TOKEN &media_id=MEDIA_ID"
如果返回的是视频消息素材,则内容如下:
1. { 2. "video_url":DOWN_URL 3. }
错误情况下返回的 JSON 数据包示例如下(示例为无效媒体 ID 错误):
{"errcode":40007,"errmsg":"invalid media_id"}
新增永久素材对于常用的素材,开发者可通过本接口上传到微信服务器,永久使用。新增的永久素材也可以在公众平台官网素材管理模块中查询管理。
需要注意的事项如下。
(1)最近更新:永久图片素材新增后,将带有的 URL 返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。
(2)公众号的素材库保存总数量有上限:图文消息素材、图片素材上限为 5000,其他类型为 1000。
(3)素材的格式大小等要求与公众平台官网一致。
图片(image):2 MB,支持 BMP、PNG、JPEG(JPG)、GIF 格式。
语音(voice):2 MB,播放长度不超过 60 s,支持 MP3、WMA、WAV、AMR 格式。
视频(video):10 MB,支持 MP4 格式。
缩略图(thumb):64 KB,支持 JPG 格式。
(4)图文消息的具体内容中,微信后台将过滤外部的图片链接,图片 URL 需通过「上传图文消息内的图片获取 URL」接口上传图片获取。
(5)「上传图文消息内的图片获取 URL」接口所上传的图片,不受公众号的素材库中图片数量(5000 个)的限制,图片仅支持 JPG、PNG 格式,大小必须在 1 MB 以下。
1. 新增永久图文素材
• 接口调用请求说明。
HTTP 请求方式:POST,HTTPS。
https://www.wechatadd.com
调用示例如下:
4. { 5. 「articles」: [{ 6. 「title」: TITLE, 7. 「thumb_media_id」: THUMB_MEDIA_ID, 8. 「author」: AUTHOR, 9. 「digest」: DIGEST, 10. 「show_cover_pic」: SHOW_COVER_PIC(0 / 1), 11. 「content」: CONTENT, 12. 「content_source_url」: CONTENT_SOURCE_URL 13. }, 14. //若新增的是多图文素材,则此处应还有几段 articles 结构 15. ] 16. }
表 8-28 对所用参数进行了说明,具体如下。
表 8-28 新增永久图文素材参数说明

• 返回说明。
1. { 2. "media_id":MEDIA_ID 3. }
返回的即为新增的图文消息素材的 media_id。
2. 上传图文消息内的图片获取 URL
• 接口调用请求说明。
HTTP 请求方式:POST,HTTPS。
https://www.wechatadd.com
调用示例(使用 curl 命令,用 FORM 表单方式上传一个图片)如下:
curl -F media=@test.jpg "https://www.wechatadd.com _token=ACCESS_TOKEN"
表 8-29 对所用参数进行了说明,具体如下。
表 8-29 上传图文消息内的图片获取 URL 参数说明
参数名称 | 是否必须 | 说明 |
access_token | 是 | 调用接口凭证 |
media | 是 | media 是 form-data 中的媒体文件标识,有 filename、filelength、content-type 等信息 |
• 返回说明。
正常情况下的返回结果为:
1. { 2. "url": "https://www.wechatadd.com UplZYWEYfwvuU6Ont96b1roYs CNFwaRrSaKTPCUdBK9DgEHicsKwWCBRQ/0" 3. }
其中,url 就是上传图片的 URL,可放在图文消息中使用。
3. 新增其他类型永久素材
• 接口调用请求说明。
通过 POST 表单来调用接口,表单 ID 为 media,包含需要上传的素材内容,有 filename、filelength、content-type 等信息。请注意:图片素材将进入公众平台官网素材管理模块中的默认分组。
HTTP 请求方式:POST,HTTPS。
https://www.wechatadd.com;type=TYPE
表 8-30 对所用参数进行了说明,具体如下。
表 8-30 新增其他类型永久素材参数说明
参数名称 | 是否必须 | 说明 |
access_token | 是 | 调用接口凭证 |
type | 是 | 媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb) |
media | 是 | media 是 form-data 中的媒体文件标识,有 filename、filelength、content-type 等信息 |
对于新增永久视频素材,需特别注意,在上传视频素材时需要 POST 另一个表单,ID 为 description,包含素材的描述信息,内容格式为 JSON,格式如下:
1. { 2. "title":VIDEO_TITLE, 3. "introduction":INTRODUCTION 4. }
新增永久视频素材的调用示例:
curl "https://www.wechatadd.com TOKEN&type=TYPE" –F media=@media.file -F description='{"title":VIDEO_TITLE, "introduction":INTRODUCTION}'
表 8-31 对所用参数进行了说明,具体如下。
表 8-31 新增永久视频素材参数说明
参数名称 | 是否必须 | 说明 |
title | 是 | 视频素材的标题 |
introduction | 是 | 视频素材的描述 |
• 返回说明。
1. { 2. "media_id":MEDIA_ID, 3. "url":URL 4. }
表 8-32 对所用参数进行了说明,具体如下。
表 8-32 新增永久视频素材返回参数说明
参数名称 | 描述 |
media_id | 新增的永久素材的 media_id |
url | 新增的图片素材的图片 URL(仅新增图片素材时会返回该字段) |
错误情况下返回的 JSON 数据包示例如下(示例为无效媒体类型错误):
{"errcode":40007,"errmsg":"invalid media_id"}
获取永久素材在新增了永久素材后,开发者可以根据 media_id 通过本接口下载永久素材。公众号在公众平台官网素材管理模块中新建的永久素材,可通过「获取素材列表」获知素材的 media_id。
• 接口请求说明。
HTTP 请求方式:POST,HTTPS。
https://www.wechatadd.com
调用示例:
1. { 2. "media_id":MEDIA_ID 3. }
• 返回说明。
(1)图文素材返回说明。
1. { 2. 「news_item」: 3. [ 4. { 5. 「title」:TITLE, 6. 「thumb_media_id」::THUMB_MEDIA_ID, 7. 「show_cover_pic」:SHOW_COVER_PIC(0/1), 8. 「author」:AUTHOR, 9. 「digest」:DIGEST, 10. 「content」:CONTENT, 11. 「url」:URL, 12. 「content_source_url」:CONTENT_SOURCE_URL 13. }, 14. //多图文消息有多篇文章 15. ] 16. }
(2)视频消息素材返回说明。
1. { 2. "title":TITLE, 3. "description":DESCRIPTION, 4. "down_url":DOWN_URL, 5. }
其他类型的素材消息,响应的直接为素材的内容,开发者可以自行保存为文件。例如:
curl "https://www.wechatadd.com TOKEN"-d '{"media_id":"61224425"}' > file
表 8-33 对所用参数进行了说明,具体如下。
表 8-33 获取永久素材返回参数说明

错误情况下返回的 JSON 数据包示例如下(示例为无效媒体类型错误):
{"errcode":40007,"errmsg":"invalid media_id"}
删除永久素材在新增了永久素材后,开发者可以根据本接口来删除不再需要的永久素材,节省空间。需要注意的事项如下。
(1)需要谨慎操作本接口,因为它可以删除公众号在公众平台官网素材管理模块中新建的图文消息、语音、视频等素材(但需要先通过获取素材列表来获知素材的 media_id)。
(2)调用该接口需要 HTTPS。
• 接口调用请求说明。
HTTP 请求方式:POST。
https://www.wechatadd.com
调用示例:
1. { 2. "media_id":MEDIA_ID 3. }
• 返回说明。
1. { 2. "errcode":ERRCODE, 3. "errmsg":ERRMSG 4. }
正常情况下调用成功时,errcode 将为 0。
修改永久素材开发者可以通过修改永久素材接口对永久图文素材进行修改,需要注意的事项如下。
(1)也可以在公众平台官网素材管理模块中修改保存的图文消息(永久图文素材)。
(2)调用该接口需要 HTTPS。
接口调用请求说明如下。
HTTP 请求方式:POST。
https://www.wechatadd.com
调用示例:
1. { 2. "media_id":MEDIA_ID, 3. "index":INDEX, 4. "articles": { 5. "title": TITLE, 6. "thumb_media_id": THUMB_MEDIA_ID, 7. "author": AUTHOR, 8. "digest": DIGEST, 9. "show_cover_pic": SHOW_COVER_PIC(0 / 1), 10. "content": CONTENT, 11. "content_source_url": CONTENT_SOURCE_URL 12. } 13. }
参数 index 指要更新的文章在图文消息中的位置(多图文消息时,此字段才有意义),第一篇为 0。
获取永久素材总数开发者可以根据获取永久素材总数接口来获取永久素材的总数,需要时也可保存到本地。需要注意的事项如下。
(1)永久素材的总数,也会包括公众平台官网素材管理中的素材。
(2)图片和图文消息素材(包括单图文和多图文)的总数上限为 5000,其他素材的总数上限为 1000。
(3)调用该接口需要 HTTPS。
• 接口调用请求说明。
HTTP 请求方式:GET。
https://www.wechatadd.com
• 返回说明。
1. { 2. "voice_count":COUNT, 3. "video_count":COUNT, 4. "image_count":COUNT, 5. "news_count":COUNT 6. }
返回说明中,参数 voice_count 表示语音总数量,video_count 表示视频总数量,参数 image_count 表示图片总数量,news_count 表示图文总数量。
错误情况下返回的 JSON 数据包示例如下(示例为无效媒体类型错误):
{"errcode":-1,"errmsg":"system error"}
版权保护: 本文由 李斯特 原创,转载请保留链接: https://www.wechatadd.com/artdet/9561
- 上一篇:微信公众平台开发技术-获取聊天记录
- 下一篇:微信公众平台开发技术-天气预报应用实例
阅读推荐
更多...- 销售能力:找到特点优势,关键是萃取价值 2023-05-22
- 利益引导法:用利益最大化说动买方——销售技巧 2023-03-04
- 小点成交法,提升销售业绩 2023-04-14
- 全面解读微信5.0,微信5.0公众平台订阅号被折叠 2023-07-08
- 乔·吉拉德:「主场作战」占尽气场 2023-03-24
- 「微商经验」打造正确的组织:推广营销创新和技术创新 2023-09-09
- 如何利用好第三方的微信服务平台,微信第三方平台构建规划四步曲 2023-07-09
- 微信公众账号设计与规划的技巧,定位需求,你的企业能做什么 2023-07-03
- 医疗投资已进入时代,理解行业才有比拼的资本 2023-09-11
- 14个行业的微信营销与运营案例解读,海尔:家电行业的微信营销与运营案例解读 2023-07-09
- 耐心倾听客户的抱怨,从抱怨中发现商机——销售技巧 2023-03-04
- 音乐平台引流——抖音热门音乐榜单有玄机 2023-10-22
- 让业绩高速增长!CHAPTER八讲巧用信息影响客户的购买决策 2023-04-14
- 适时替客户做主——销售技巧 2023-03-04
- 淘宝小号购买平台,速卖通多久可以把产品推爆?怎么做? 2022-07-29
- 别做顾客讨厌的狗皮膏药——销售技巧 2023-03-04
- 移动互联网时代植入式营销策略 2022-07-25
- 「微商经验」运用正确的技术掌握正确的数据 2023-09-09