讀古今文學網 > 微信公眾平台開發:從零基礎到ThinkPHP5高性能框架實踐 > 6.4.2 分批獲取 >

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