Spotify Web API 是 Spotify 提供的用于访问其音乐数据库的编程接口,允许开发者获取艺术家、专辑、曲目等信息。当搜索艺术家的专辑时,API 应该返回该艺术家的专辑列表。
当使用 Spotify Web API 搜索艺术家的专辑时,返回结果中出现重复或加倍的专辑条目。
确保使用正确的端点:
// 获取艺术家专辑的正确端点
GET https://api.spotify.com/v1/artists/{id}/albums
// 示例:获取艺术家的专辑,限制类型和数量
const response = await fetch(`https://api.spotify.com/v1/artists/${artistId}/albums?limit=50&include_groups=album,single`, {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
确保正确处理分页,避免重复获取相同数据:
async function getArtistAlbums(artistId, accessToken) {
let albums = [];
let url = `https://api.spotify.com/v1/artists/${artistId}/albums?limit=50`;
while (url) {
const response = await fetch(url, {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
const data = await response.json();
albums = [...albums, ...data.items];
url = data.next; // Spotify API 提供的下一页URL
}
// 去重处理
const uniqueAlbums = albums.filter((album, index, self) =>
index === self.findIndex((a) => a.id === album.id)
);
return uniqueAlbums;
}
确保使用的艺术家ID是准确的,避免相似艺术家的混淆。
查看API响应头,确认是否有缓存相关的标头导致问题:
const response = await fetch(url, options);
console.log(response.headers);
这个问题通常出现在:
通过以上方法,您应该能够解决Spotify Web API返回艺术家专辑加倍结果的问题。
没有搜到相关的文章