R - несколько художников Spotify API функция - PullRequest
0 голосов
/ 03 мая 2018

Извиняюсь за вопрос новичка, но я борюсь со следующим;

Я использую функцию tiagomendesdantas / Rspotify для доступа к API Spotify через R. При использовании этого для доступа к информации об отдельных исполнителях, списках воспроизведения или дорожках она работает нормально, но я хочу запустить ее для нескольких исполнителей одновременно.

Я пытался создавать списки и т. Д., Но это не работает.

#Getting the songs of Spotify's RapCaviar playlists
rapcaviar <- getPlaylistSongs(ownerid = "Spotify",
                              "37i9dQZF1DX0XUsuxWHRQd",
                              token = keys) 
rapcaviar

Что мне нужно сделать, чтобы включить несколько идентификаторов для плейлистов или исполнителей?

Я часто получаю сообщение об ошибке:

Error: length(url) == 1 is not TRUE

В идеале вы должны использовать результат функции getartistinfo для других опций, таких как getfeatures, для извлечения акустических элементов песен.

Помощь очень ценится (и, надеюсь, / вероятно, довольно легко?; -))

Ссылка на функцию: https://github.com/tiagomendesdantas/Rspotify/blob/master/DESCRIPTION

1 Ответ

0 голосов
/ 04 мая 2018

Вот способ сделать это с {purrr}

library(Rspotify)
keys <- spotifyOAuth("rstats","***","***")


library(purrr)
# Create a vector of owners id 
owners_id <- c('11152045841', 'spotify', 'spotify')
# Create a vector of the corresponding playlist id
playlists_id <- c('0FJiPbIDGcxw6hx9dLVQPl', '37i9dQZF1DX5wiMM8SSK44', '37i9dQZF1DWT9SRKhOEUYj')

# Use purrr::map2 to retrieve a list of dataframe of the playlists
playlists <- map2(owners_id, playlists_id, ~ getPlaylistSongs(.x, .y, token = keys))

# You can also use purrr::map2_df if you want to bind if all in a unique data.frame
playlists <- map2_df(owners_id, playlists_id, ~ getPlaylistSongs(.x, .y, token = keys))
...