有没有办法使用 Spotify JAVA API 获取 Spotify 播放列表中曲目的曲目 ID?
Is there a way to get track IDs of the tracks in a Spotify playlist using the Spotify JAVA API?
我一直在为 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?
现在已经为此苦苦挣扎了一段时间。谢谢!
是
当然可以! :)
自 v6.0.0-RC1
of spotify-web-api-java the PlaylistTracks, which are returned by your request, now contain an IPlaylistItem instead of a simple Track due to changes related to the new podcasts API 以来,端点 return 类型取决于请求的上下文。
当前的解决方案是将项目转换为它们的预期类型。在您的示例中,for
循环中的 println
应如下所示:
System.out.println(((Track) items[i].getTrack()).getId());
根据传入的拉取请求,这可能会在未来得到改进:请参阅 the discussion in issue #201。
我一直在为 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? 现在已经为此苦苦挣扎了一段时间。谢谢!
是
当然可以! :)
自 v6.0.0-RC1
of spotify-web-api-java the PlaylistTracks, which are returned by your request, now contain an IPlaylistItem instead of a simple Track due to changes related to the new podcasts API 以来,端点 return 类型取决于请求的上下文。
当前的解决方案是将项目转换为它们的预期类型。在您的示例中,for
循环中的 println
应如下所示:
System.out.println(((Track) items[i].getTrack()).getId());
根据传入的拉取请求,这可能会在未来得到改进:请参阅 the discussion in issue #201。