从我的 Android 应用中检索我的 Spotify 播放列表 ID
Retrieve my Spotify playlist id from my Android app
我正在尝试检索我在 Spotify 中的播放列表的 ID,以便我可以在我的 Android 应用程序的 ListView 中显示内容(播放列表名称、曲目等)。我找不到获取该数据的方法。
我复制了 Spotify 给的 Android Quick Start 源代码。只要我知道播放列表 ID ("spotify:playlist:5smL9JMG88uvAabko1c5P0"),一切正常。但是,如果我不知道它并且我想从 Spotify 获取它怎么办(例如,如果我的帐户中有很多播放列表,我可以在我的应用程序中决定播放哪一个)? Android 有获取方法吗?
我没有显示任何代码,因为它与 Spotify 提供的代码相同。
如果您不知道播放列表的播放列表 ID,您可以使用以下 Spotify Web API 端点获取所有用户播放列表:Get List Users Playlists
Spotify Web 有 libraries API,因此如果您不想实现,则无需自己实现。
如果您选择 kaaes/spotify-web-api-android 库,代码可能是这样的:
SpotifyApi api = new SpotifyApi();
api.setAccessToken("yourAccessToken");
SpotifyService spotify = api.getService();
spotify.getMyPlaylists(new SpotifyCallback<Pager<PlaylistSimple>>() {
@Override
public void failure(SpotifyError spotifyError) {
// handle error
}
@Override
public void success(Pager<PlaylistSimple> playlistSimplePager, Response response) {
// do something
// for example
for(PlaylistSimple playlistSimple: playlistSimplePager.items) {
Log.d("playlist:", playlistSimple.name);
}
}
});
我正在尝试检索我在 Spotify 中的播放列表的 ID,以便我可以在我的 Android 应用程序的 ListView 中显示内容(播放列表名称、曲目等)。我找不到获取该数据的方法。
我复制了 Spotify 给的 Android Quick Start 源代码。只要我知道播放列表 ID ("spotify:playlist:5smL9JMG88uvAabko1c5P0"),一切正常。但是,如果我不知道它并且我想从 Spotify 获取它怎么办(例如,如果我的帐户中有很多播放列表,我可以在我的应用程序中决定播放哪一个)? Android 有获取方法吗? 我没有显示任何代码,因为它与 Spotify 提供的代码相同。
如果您不知道播放列表的播放列表 ID,您可以使用以下 Spotify Web API 端点获取所有用户播放列表:Get List Users Playlists
Spotify Web 有 libraries API,因此如果您不想实现,则无需自己实现。
如果您选择 kaaes/spotify-web-api-android 库,代码可能是这样的:
SpotifyApi api = new SpotifyApi();
api.setAccessToken("yourAccessToken");
SpotifyService spotify = api.getService();
spotify.getMyPlaylists(new SpotifyCallback<Pager<PlaylistSimple>>() {
@Override
public void failure(SpotifyError spotifyError) {
// handle error
}
@Override
public void success(Pager<PlaylistSimple> playlistSimplePager, Response response) {
// do something
// for example
for(PlaylistSimple playlistSimple: playlistSimplePager.items) {
Log.d("playlist:", playlistSimple.name);
}
}
});