你所在的位置:微信群>互联网推广>正文

微信公众平台开发技术-获取关注者列表

原创
发布时间: 2023-07-15 13:10:11 热度: 351 作者: 李斯特 来源: 微信加 本文共 9108 字 阅读需要 31 分钟
获取关注者列表公众号可通过本接口来获取账号的关注者列表,关注者列表由一串OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的)组成。
获取关注者列表

公众号可通过本接口来获取账号的关注者列表,关注者列表由一串 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