gpt4 book ai didi

javascript - Soundcloud API 分页 - 8000 的偏移量限制是否意味着您无法获得长度超过 8000 的完整列表?

转载 作者:行者123 更新时间:2023-11-30 00:33:13 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何通过分页检索包含 60k+ 关注者的列表。现在,这就是我的做法(我猜这在语法上可能更好):

var array = [];
var page_length = 200;
var num_pages = 40;
var offset = 0;

for (i=0; i< num_pages; i++) {
SC.get("/users/" + id + "/followers", {limit: page_length, offset: offset},
function(followers) {
for (j=0; j < page_length; j++) {
array.push(followers[j]);
}
if(array[array.length-1] != undefined && array.length == page_length * num_pages) {
//success
}
}
);
offset+=page_length;
}

根据 API 文档,我将 page_length 设置为最大值 200。例如,如果我将 num_pages 增加到 45,则该迭代的结果 followers[] 数组仅包含未定义的记录,因为 num_pages*page_length 将超过 8000 个偏移量限制。

那么有没有什么办法可以把8000多条记录放到这个数组中呢?

最佳答案

您必须当心,SoundCloud 刚刚“更新”了他们的 API,3 月 3 日之后您将无法使用带有“offset”参数的 API。您必须更改代码才能在将来正常工作。

所以一开始,SoundCloud API 默认将限制设置为 50,您可以将限制设置为 200(最大值)。

第二件事是 - 在您发送请求后,您的响应通常包含一个“next_href”游标,您必须调用它来获取下一个,例如200 名追随者。 SoundCloud 现在改变了这一点。如果您不将“linked_pa​​rtitioning”参数添加到您的 URL,您将只能获得前 200 个关注者。如果您添加该参数,您将获得 next_href

我不明白为什么要将 num_pages 设置为 40?在你的情况下,我会获取 200 个关注者,将它们放入我的数组中。然后使用 next_href - 游标获取接下来的 200 个关注者(依此类推...)。如果响应中没有 next_href,则表示没有任何关注者。

在 JavaScript 中,我认为它看起来像这样:

var page_size = 200;

SC.get("/users/" + id + "/followers", { limit: page_size, linked_partitioning: 1 }, function(followers) {
// do your stuff here with every 200 followers (as long as there are followers)
});

关于javascript - Soundcloud API 分页 - 8000 的偏移量限制是否意味着您无法获得长度超过 8000 的完整列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com