Spotify: поиск исполнителя и названия одновременно

#spotify

#spotify

Вопрос:

Я новичок в Spotify API. Я пытаюсь выяснить, как искать исполнителя и название одновременно.

Я использую вызов AJAX как с исполнителем, так и с названием. Если одно из них пустое, я могу просто выполнить поиск другого, но, похоже, я не могу понять, как искать исполнителя и название одновременно. Цель этого — сузить результат, чтобы найти конкретный трек.

Вот что у меня есть:

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

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


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

$contents = file_get_contents($url);

echo json_encode($contents);
  

Как уже упоминалось, если я ищу только исполнителя или только название, это работает просто отлично. Я просто не знаю, как искать оба одновременно, используя API Spotify.

Ответ №1:

Если я перефразирую ваш вопрос, это звучит как:

  • Если заполнен только search_artist, вы хотите найти исполнителя
  • Если заполнен только search_track, вы хотите найти трек
  • Если оба заполнены, вы все равно хотите найти трек

Тогда тип должен быть просто track .

В документации также не упоминается, что вы можете использовать параметры q и type дважды. https://developer.spotify.com/web-api/search-item/В нем упоминается, что вы можете искать треки и исполнителя, разделяя их запятыми, type= track, исполнитель, но, читая ваш вопрос, это, вероятно, не то, что вы хотите.

 $url = "https://api.spotify.com/v1/search?q=".$search_artist." ".$search_title."amp;type=track";