我一直在使用Spotify API的Java封装器。我已经成功地检索到了所需的播放列表,但我无法获得播放列表中的曲目ID。
以下是我用来获取播放列表项目的代码。
playlistID = "37i9dQZF1DWXLeA8Omikj7";
getPlaylistsItemsRequest = spotifyApi.getPlaylistsItems(playlistID).build();
Paging<PlaylistTrack> playlistTrackPaging = getPlaylistsItems_Sync();
PlaylistTrack[] items = playlistTrackPaging.getItems();
System.out.println(items.length);
for (int i = 0; i < items.length; i++) {
System.out.println(items[i].getTrack().toString());
}
上面的代码以这种格式给出了输出。
com.wrapper.spotify.model_objects.specification.Track@6c40365c
很不幸,最后的字母数字并不是曲目ID
PlaylistTrack对象似乎没有任何方法来获取曲目ID。有谁知道我怎样才能得到曲目ID吗?"我已经在这个问题上挣扎了一段时间了。谢谢!我一直在使用Java包装。
当然,这是有可能的! :)
由于 v6.0.0-RC1
的 Spotify-web-api-java 的 播放列表轨道现在,您的请求所返回的s,包含一个 IPlaylistItem 而不是简单 轨迹 由于有关变化 新的播客API,使得端点返回类型取决于请求的上下文。
目前的解决方案是将项目投向它们的预期类型。在你的例子中, println
之内 for
-循环应该是这样的。
System.out.println(((Track) items[i].getTrack()).getId());
根据收到的拉取请求,将来可以改进:见 第201期的讨论.