当前位置: 首页 > 知识库问答 >
问题:

Spotify:同时搜索艺术家和标题

屈晨
2023-03-14

我是Spotify API的新手。我正在试图弄清楚如何搜索一个艺术家和一个标题在同一时间。

我正在使用一个AJAX调用,同时带有艺术家和标题。如果任何一个是空白的,我可以简单地搜索另一个,但我似乎无法弄清楚如何搜索艺术家和标题在同一时间。这样做的目的是缩小结果以找到特定的轨迹。

以下是我的资料:

header('Content-Type: application/json');

$search_artist = rawurlencode($_POST['search_artist']);
$search_title = rawurlencode($_POST['search_title']);


if($search_artist && !$search_title) {
    //Search for Artist only
    $url = "https://api.spotify.com/v1/search?q=*".$search_artist."*&type=artist";
} else if(!$search_artist && $search_title) {
    //Search for title only
    $url = "https://api.spotify.com/v1/search?q=*".$search_title."*&type=track";
} else if($search_artist && $search_title) {
    //Search for Artist AND Title
    $url = "https://api.spotify.com/v1/search?q=*".$search_artist."*&type=artist&q=*".$search_title."*&type=track";
}

$contents = file_get_contents($url);

echo json_encode($contents);

如前所述,如果我只搜索艺术家或标题,它就可以正常工作。我只是不知道如何使用Spotify的API同时搜索两者。

共有1个答案

陶琦
2023-03-14

如果我换个说法你的问题听起来像是:

  • 如果只填写了search_artist,则您希望使用“查找艺术家”
  • 如果只填写了search_track,则您希望查找一个曲目
  • 如果两个字段都填写了,您仍然希望找到一个音轨

那么类型应该是track。

文档也没有提到您可以两次拥有q和类型参数。https://developer.spotify.com/web-api/search-item/,它确实提到了您可以通过使用逗号分隔的type=track和artist来搜索曲目和艺术家,但阅读您的问题,这可能不是您想要的。

$url = "https://api.spotify.com/v1/search?q=".$search_artist."+".$search_title."&type=track";
 类似资料:
  • 最初的计划是把这写成一篇博客文章,标题是“Spotify元数据应用编程接口的低效:或者,杰克逊5是如何杀死我的浏览器的”,但在最后一刻改变了主意,因为我有一个习惯,就是错过留档中显而易见的东西,也许是一个未记录的功能可能存在,我错过了,或者其他人已经解决了这个问题-因此这个问题有一定的博客帖子语气! 我正在开发一个小型网络应用程序,主要是为一小群人开发的,它允许任何人更新Spotify播放列表。因

  • 使用SpotifyAPI,我试图搜索艺术家的轨迹。我使用的查询正在运行,如下所示:

  • 我已经找到了相关的问题(比如这一个),但没有什么能直接回答我的问题:我需要一种直接的方式将艺人名称和曲目名称转换为spotify链接。就像spotify对本地文件列表所做的那样(我认为有些是链接,有些不是,因为spotify没有这些曲目)。 我怎么能把像艺术家:“弗兰科林”和曲目名称:“医院之歌”这样的东西变成Spotify uri而不搜索它(它会返回多个结果,我不知道该使用哪个)。Spotify

  • 我想找一位艺术家和他们的专辑。所以读这一页https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2 我创建了以下查询以获取Michael Jackson的专辑 我的理解是在URL末尾添加,该URL应返回迈克尔·杰克逊的专辑,但这似乎没有返回正确的结果,或者我无法缩小结果范围?然后我想使用,但是在美术师查询中没有返回(这就是为

  • 我可以通过调用这个网址查看Spotify上的所有曲目: http://ws.spotify.com/search/1/track.json?q=xxx 示例响应包含每个曲目的艺术家数据,如: 从上面的响应中,我得到了艺术家ID:38IfmizrHTCxFjd8UKhWnp。 现在,有没有一种方法可以通过api调用获得上述艺术家(38IfmizrHTCxFjd8UKhWnp)的所有曲目? 我想做的是

  • 原文:Artist tutorial matplotlib API 有三个层级。 matplotlib.backend_bases.FigureCanvas是绘制图形的区域,matplotlib.backend_bases.Renderer是知道如何在ChartCanvas上绘制的对象,而matplotlib.artist.Artist是知道如何使用渲染器在画布上画图的对象。 FigureCanv