Если вы спрашиваете, как получить получить имя артиста из объекта ответа, созданного в вашем вопросе, вы можете сделать это так:
> Artist$name
«Фрэнк Синатра»
Если вы спрашиваете, как запросить API по имени исполнителя, соответствующий endpoint - это поиск художника по имени, который позволит вам найти идентификатор (поскольку API основан на идентификаторе, отличном от функции поиска, это необходимо):
/v1/search?type=artist
endpoint получить несколько художников:
/v1/artists?ids={ids}
На самом деле они обеспечивают хороший jsFiddle пример (один) поиска исполнителя на основе имени:
http://jsfiddle.net/JMPerez/0u0v7e1b/
Этот поиск на странице документации показано, как они строят поисковый URI:
https://developer.spotify.com/web-api/search-item/
Собираем все вместе
Вот полностью рабочий пример поисков на основе имени исполнителя в R.Допустим, мы хотим найти Йткракер, ботаник рэп царь:
artistName = 'ytcracker'
HeaderValue = paste0('Bearer ', mytoken)
URI = paste0('https://api.spotify.com/v1/search?query=', artistName,'&offset=0&limit=20&type=artist')
response2 = GET(url = URI, add_headers(Authorization = HeaderValue))
Artist = content(response2)
Artist
Artist
объект имеет идентификатор, URI, жанр, количество последователей, и другая информация, достаточная для изучения остальной части API Spotify для этого художника, их альбомы и исполнители, и т.д., и т.д.:
$artists
$artists$href
[1] "https://api.spotify.com/v1/search?query=ytcracker&offset=0&limit=20&type=artist"
$artists$items
$artists$items[[1]]
$artists$items[[1]]$external_urls
$artists$items[[1]]$external_urls$spotify
[1] "https://open.spotify.com/artist/1x82Mu3wakMkldMW5kEiP4"
$artists$items[[1]]$followers
$artists$items[[1]]$followers$href
NULL
$artists$items[[1]]$followers$total
[1] 2386
$artists$items[[1]]$genres
$artists$items[[1]]$genres[[1]]
[1] "nerdcore"
$artists$items[[1]]$href
[1] "https://api.spotify.com/v1/artists/1x82Mu3wakMkldMW5kEiP4"
$artists$items[[1]]$id
[1] "1x82Mu3wakMkldMW5kEiP4"
$artists$items[[1]]$images
$artists$items[[1]]$images[[1]]
$artists$items[[1]]$images[[1]]$height
[1] 640
$artists$items[[1]]$images[[1]]$url
[1] "https://i.scdn.co/image/da66c87cfb6f7e400979b53f12c0b0cb029424a8"
$artists$items[[1]]$images[[1]]$width
[1] 640
$artists$items[[1]]$images[[2]]
$artists$items[[1]]$images[[2]]$height
[1] 300
$artists$items[[1]]$images[[2]]$url
[1] "https://i.scdn.co/image/4055cb39744f85c94838841eecc74563b94a00d1"
$artists$items[[1]]$images[[2]]$width
[1] 300
$artists$items[[1]]$images[[3]]
$artists$items[[1]]$images[[3]]$height
[1] 64
$artists$items[[1]]$images[[3]]$url
[1] "https://i.scdn.co/image/d46121137f358701b55dcdd03ba9a632ea7e4879"
$artists$items[[1]]$images[[3]]$width
[1] 64
$artists$items[[1]]$name
[1] "YTCracker"
$artists$items[[1]]$popularity
[1] 31
$artists$items[[1]]$type
[1] "artist"
$artists$items[[1]]$uri
[1] "spotify:artist:1x82Mu3wakMkldMW5kEiP4"
$artists$items[[2]]
$artists$items[[2]]$external_urls
$artists$items[[2]]$external_urls$spotify
[1] "https://open.spotify.com/artist/2RnAr4QItmKW4vFKip3m8v"
$artists$items[[2]]$followers
$artists$items[[2]]$followers$href
NULL
$artists$items[[2]]$followers$total
[1] 36
$artists$items[[2]]$genres
list()
$artists$items[[2]]$href
[1] "https://api.spotify.com/v1/artists/2RnAr4QItmKW4vFKip3m8v"
$artists$items[[2]]$id
[1] "2RnAr4QItmKW4vFKip3m8v"
$artists$items[[2]]$images
list()
$artists$items[[2]]$name
[1] "YTCracker & Hairetsu"
$artists$items[[2]]$popularity
[1] 9
$artists$items[[2]]$type
[1] "artist"
$artists$items[[2]]$uri
[1] "spotify:artist:2RnAr4QItmKW4vFKip3m8v"
$artists$limit
[1] 20
$artists$`next`
NULL
$artists$offset
[1] 0
$artists$previous
NULL
$artists$total
[1] 2
Обратите внимание, что я установил дополнительный предел размера результатов поиска. Также обратите внимание, что вы можете использовать одни и те же результаты поиска, чтобы запрашивать такие вещи, как изображения обложек альбомов, как в примере jsFiddle, если это так.
Несколько Arists
ОК, так что теперь у меня есть идентификатор Йткракер, основанный на моем поиске и ID для Синатры из вашего вопроса, и я хочу одновременно запросить API для обоих художников. Я могу сделать это следующим образом. Пока у вас есть ID, вы можете это сделать для более чем двух художников.
URI = paste0('https://api.spotify.com/v1/artists?ids=', Artist$artists$items[[2]]$id,",", '1Mxqyy3pSjf8kZZL4QVxS0')
response2 = GET(url = URI, add_headers(Authorization = HeaderValue))
Artists = content(response2)
$artists
$artists[[1]]
$artists[[1]]$external_urls
$artists[[1]]$external_urls$spotify
[1] "https://open.spotify.com/artist/2RnAr4QItmKW4vFKip3m8v"
$artists[[1]]$followers
$artists[[1]]$followers$href
NULL
$artists[[1]]$followers$total
[1] 36
$artists[[1]]$genres
list()
$artists[[1]]$href
[1] "https://api.spotify.com/v1/artists/2RnAr4QItmKW4vFKip3m8v"
$artists[[1]]$id
[1] "2RnAr4QItmKW4vFKip3m8v"
$artists[[1]]$images
list()
$artists[[1]]$name
[1] "YTCracker & Hairetsu"
$artists[[1]]$popularity
[1] 9
$artists[[1]]$type
[1] "artist"
$artists[[1]]$uri
[1] "spotify:artist:2RnAr4QItmKW4vFKip3m8v"
$artists[[2]]
$artists[[2]]$external_urls
$artists[[2]]$external_urls$spotify
[1] "https://open.spotify.com/artist/1Mxqyy3pSjf8kZZL4QVxS0"
$artists[[2]]$followers
$artists[[2]]$followers$href
NULL
$artists[[2]]$followers$total
[1] 1204440
$artists[[2]]$genres
$artists[[2]]$genres[[1]]
[1] "adult standards"
$artists[[2]]$genres[[2]]
[1] "brill building pop"
$artists[[2]]$genres[[3]]
[1] "christmas"
$artists[[2]]$genres[[4]]
[1] "easy listening"
$artists[[2]]$genres[[5]]
[1] "jazz christmas"
$artists[[2]]$genres[[6]]
[1] "lounge"
$artists[[2]]$genres[[7]]
[1] "mellow gold"
$artists[[2]]$genres[[8]]
[1] "soft rock"
$artists[[2]]$genres[[9]]
[1] "soul"
$artists[[2]]$genres[[10]]
[1] "swing"
$artists[[2]]$genres[[11]]
[1] "vocal jazz"
$artists[[2]]$href
[1] "https://api.spotify.com/v1/artists/1Mxqyy3pSjf8kZZL4QVxS0"
$artists[[2]]$id
[1] "1Mxqyy3pSjf8kZZL4QVxS0"
$artists[[2]]$images
$artists[[2]]$images[[1]]
$artists[[2]]$images[[1]]$height
[1] 650
$artists[[2]]$images[[1]]$url
[1] "https://i.scdn.co/image/fc4e0f474fb4c4cb83617aa884dc9fd9822d4411"
$artists[[2]]$images[[1]]$width
[1] 999
$artists[[2]]$images[[2]]
$artists[[2]]$images[[2]]$height
[1] 416
$artists[[2]]$images[[2]]$url
[1] "https://i.scdn.co/image/883de3e492364891543bc0313ffe516626778a16"
$artists[[2]]$images[[2]]$width
[1] 640
$artists[[2]]$images[[3]]
$artists[[2]]$images[[3]]$height
[1] 130
$artists[[2]]$images[[3]]$url
[1] "https://i.scdn.co/image/810f29651e05c9eae5a31f8151c2e05dc46390f9"
$artists[[2]]$images[[3]]$width
[1] 200
$artists[[2]]$images[[4]]
$artists[[2]]$images[[4]]$height
[1] 42
$artists[[2]]$images[[4]]$url
[1] "https://i.scdn.co/image/a283ecdc6252ae305c53d283846cae2e8b22e94c"
$artists[[2]]$images[[4]]$width
[1] 64
$artists[[2]]$name
[1] "Frank Sinatra"
$artists[[2]]$popularity
[1] 77
$artists[[2]]$type
[1] "artist"
$artists[[2]]$uri
[1] "spotify:artist:1Mxqyy3pSjf8kZZL4QVxS0"
Это здорово, спасибо –
я могу попросить это в отдельный пост, но как вы получите аудио черты исполнителей песен? Я знаю, что это ссылка: https://developer.spotify.com/web-api/get-several-audio-features/, но проблема с ее использованием в R @ Hack-R –