【问题标题】:Spotify API result limited to 2000?Spotify API 结果限制为 2000?
【发布时间】:2020-11-12 18:55:48
【问题描述】:

我试图通过他们的 API(使用 python 的 spotipy)从 Spotify 目录中提取所有每年发布的专辑,但我偶然发现了每年 2000 张专辑的限制(offset 参数似乎上限为 2000 ),我得到一个 404 响应。

有人可以澄清这是否是一个硬性限制,或者是否有一种解决方法可以通过他们的search 端点获得超过 2000 张专辑?

在 Spotify API 的文档中没有提到这个 2000 的限制,如果我们只能访问如此有限的信息量(他们似乎甚至没有提供没有限制的付费计划),那将是很遗憾的。 我找到了这个related issue,但那里列出的解决方法(例如添加AND [a-z]*)似乎不再起作用了。

编辑: 看起来文档的测试版包含对 offset 参数的此限制的引用:

【问题讨论】:

    标签: python api limit spotify spotipy


    【解决方案1】:

    您需要获取每个块的所有专辑。

    因此,在第一个请求中,您将获得前 2000 个项目;

    search('query', 2000, 0)
    

    然后,在第二个请求中,您需要一个 offset 来告诉 spotify “跳过”前 2000 个项目;

    search('query', 2000, 2000)
    

    然后,您可以继续发送这些请求,直到您拥有每个可用的相册;

    search('query', 2000, 4000)
    

    Spotipy documentation:

    【讨论】:

    • 这就是我目前正在做的事情。不幸的是,offset 参数的最大值似乎设置为 2000,这仅在 beta 文档中提到,我刚刚找到它。 developer.spotify.com/documentation/web-api/reference-beta/… 如果您滚动到 search 端点,您将看到偏移量上限为 2000...任何想法从 search 端点获得超过 2000 个结果?或者获取所有专辑发布的替代方法某一年?
    • 您应该在问题中澄清这一点,和/或显示一些代码。我在offset 上找不到与 2000 最大值相关的任何内容,也没有在您提供的链接中。
    • 澄清了这个问题。这是我在我之前的评论中在offset 参数下链接的页面左侧面板中单击Search API 时看到的内容: offset 要返回的第一个结果的索引。默认值:0(第一个结果)。最大偏移量(包括限制):2,000。使用 with limit 获取下一页的搜索结果。
    猜你喜欢
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多