如何在Spotify API查询中正确添加字段过滤器?
Spotify API 字段过滤器正确使用方案
问题核心
你之前的写法未给字段值添加双引号,且可能遗漏了type参数,导致过滤器未被API正确识别,反而被当作普通搜索词处理。
正确用法(基于官方文档翻译)
Spotify搜索API的q参数支持通过字段名:"目标内容"的格式精准过滤,多个过滤器用空格分隔;同时必须指定type参数明确搜索资源类型(如track),否则API无法解析过滤规则。
正确代码示例
import urllib.parse track_name = "示例曲目名" artist_name = "示例艺术家名" # 构造带双引号包裹的字段过滤查询语句 search_query = f'track:"{track_name}" artist:"{artist_name}"' # 完整请求参数,必须包含type字段 params = { "q": search_query, "type": "track" } # 统一编码所有参数,避免手动编码出错 encoded_request_params = urllib.parse.urlencode(params)
关键注意事项
- 若曲目名/艺术家名本身包含双引号,需用
\"转义(例如track:"Don\"t Stop") - 请求必须携带有效的
Authorization授权头(Bearer令牌),否则API会返回权限错误 - 不要手动单独编码
q的值,通过urlencode处理整个参数字典更可靠
内容的提问来源于stack exchange,提问作者mm3psych0sis
相关产品推荐
相关产品推荐

