首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》6.4.2 分批获取

关灯直达底部

当微信公众号用户数量超过10000时,可通过填写next_openid的值,从而以多次拉取列表的方式来满足需求。

具体而言,就是在调用接口时,将上一次调用得到的返回结果中的next_openid值作为下一次调用中的next_openid值。

其示例如下。

微信公众号A拥有23000个关注用户,想通过拉取关注接口获取所有关注用户,那么需要3次请求,分别请求的URL如下。

第一次请求的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"}  

第二次请求的URL。


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"}  

第三次请求的URL。


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"}