微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试获取播客信息时,Spotify API返回未找到的404

如何解决尝试获取播客信息时,Spotify API返回未找到的404

搜索答案是否可用:否

1。总结问题

Spotify引入了获取有关播客和节目信息的功能Details here.

我正在使用Python“请求”包生成请求URL,以获取诸如no_of_followers之类的指标,等等(我不确定它们是否可用于播客),所以我尝试获取节目的元数据。

我用来获取有关演出的信息的端点:GET https://api.spotify.com/v1/shows/{id}

headers = {
    "Authorization": f"Bearer {access_token}"
}
# endpoint used "https://api.spotify.com/v1/shows/{id}"

lookup_url = "https://api.spotify.com/v1/shows/3IM0lmZxpFAY7CwMuv9H4g" #"The Daily" podcast example
print(lookup_url)

r = requests.get(lookup_url,headers=headers)
print(r)
print(r.status_code)
print(r.json())

但是我收到以下错误响应:

https://api.spotify.com/v1/shows/3IM0lmZxpFAY7CwMuv9H4g
<Response [404]>
404
{'error': {'status': 404,'message': 'non existing id'}}

最后的问题

2。描述您尝试过的事情

我尝试使用搜索端点提取类似的信息,在那里,我得到了有效的响应。搜索艺术家时内容丰富,符合预期,但我搜索的节目似乎缺少响应数据。

我用来搜索演出/艺术家的端点:GET https://api.spotify.com/v1/search

使用搜索端点查找有关演出/艺术家的信息:

headers = {
    "Authorization": f"Bearer {access_token}"
}
endpoint = "https://api.spotify.com/v1/search"
data = urlencode({"q":"the daily","type":"show"})
# data = urlencode({"q":"drake","type":"artist"})

lookup_url = f"{endpoint}?{data}"
print(lookup_url)

r = requests.get(lookup_url,headers=headers)
print(r.status_code)
r.json()

获取以上节目的输出

https://api.spotify.com/v1/search?q=the+daily&type=show
200
{'shows': {'href': 'https://api.spotify.com/v1/search?query=the+daily&type=show&offset=0&limit=20','items': [None,None,None],'limit': 20,'next': 'https://api.spotify.com/v1/search?query=the+daily&type=show&offset=20&limit=20','offset': 0,'prevIoUs': None,'total': 14755}}

如果我尝试搜索艺术家的信息,则会获得不错的结果:

{'artists': {'href': 'https://api.spotify.com/v1/search?query=drake&type=artist&offset=0&limit=20','items': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3TVXtAsR1Inumwj472S9r4'},'followers': {'href': None,'total': 48844145},'genres': ['canadian hip hop','canadian pop','hip hop','pop rap','rap','toronto rap'],'href': 'https://api.spotify.com/v1/artists/3TVXtAsR1Inumwj472S9r4','id': '3TVXtAsR1Inumwj472S9r4','images': [{'height': 640,'url': 'https://i.scdn.co/image/60cfab40c6bb160a1906be45276829d430058005','width': 640},{'height': 320,'url': 'https://i.scdn.co/image/5ea794cf832550943d5f8122afcf5f23ee9d85b7','width': 320},{'height': 160,'url': 'https://i.scdn.co/image/8eaace74aaca82eaccde400bbcab2653b9cf86e1','width': 160}],'name': 'Drake','popularity': 98,'type': 'artist','uri': 'spotify:artist:3TVXtAsR1Inumwj472S9r4'},...output clipped for readability

3。问题:

  1. 我是否试图错误获取有关演出的信息?我尝试使用如下所述的搜索端点-似乎对艺术家或曲目很有效,但对于演出却不起作用。
  2. 是否可以获取节目的指标,例如关注者,times_episodes_played和历史数据?

感谢您的帮助。

解决方法

Get a Show端点似乎确实需要提供 Market 参数。在该参数的部分中,尽管标记为 optional ,但它指出:

如果指定了国家/地区代码,则仅返回该市场中可用的节目和剧集。 如果在请求标头中指定了有效的用户访问令牌,则与用户帐户关联的国家/地区将优先于此参数。 注意:如果未提供市场或用户所在国家/地区,则该内容被认为对客户不可用。

我也遇到了Podcast Shows Episodes 的问题,就像其他内容一样,如果不提供 Market 参数,您仍然会得到一些帮助直到我注意到以下内容意味着没有它,您将一无所获,这就是您遇到的问题,

如果未提供市场或用户所在国家/地区,则内容为 被认为对客户不可用。

文档应确实声明,在这种情况下,与Songs等不同, Market 值不是可选的,可能值得在Spotify for Developers论坛上提出问题

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。