可能spotify肖像元数据缓存错误
代码复制
在我的应用程序中,我有以下代码。var seed = "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP"; sp.core.getMetadata(seed, { onSuccess: function (metadata) { console.log(metadata); }, onFailure: function () {} });
查看行为的步骤
Object name: "Whitesnake" portrait: "" type: "artist" uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP" __proto__: Object
Object name: "Whitesnake" portrait: "spotify:image:3c4aa30d845dd456d750cf16bef8e2cadb2af342" type: "artist" uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP" __proto__: Object
Object name: "Whitesnake" portrait: "" type: "artist" uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP" __proto__: Object
题
为什么广播应用程序能够访问使用广播应用程序后可从我的应用程序访问的人像照片? 是否有某种初始化,需要先完成或者是一个错误?
关于艺术家(和专辑等)的某些信息在您对该URI进行“浏览”之前不可用 - 直到此时,Spotify才会下载项目的基本信息以保持性能。
您所看到的是收音机进行浏览,导致Spotify客户端填写缺失的信息。
Spotify的更新即将推出,将改善此行为。
如果我正确地理解了你,你已经注意到,当你从广播中得到一个肖像URI的结果后,你会在你的应用中使用它填充对象数据?
另一个注意事项; 你应该使用Artist类而不是sp.core。
var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');
models.Artist.fromURI("spotify:artist:3UbyYnvNIT5DFXU4WgiGpP", function(album) {
console.log(album);
});
这应该给你一个肖像uri字符串的正确输出。
Artist
data: Object
name: "Whitesnake"
portrait: "spotify:image:3c4aa30d845dd456d750cf16bef8e2cadb2af342"
type: "artist"
uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP"
正如iKenndac提到的,尝试做一个“浏览”:
var seed = "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP";
sp.core.browseUri(seed, {
onSuccess: function (metadata) {
console.log(metadata);
},
onFailure: function () {}
});
这里的例子:https://github.com/ptrwtts/kitchensink
链接地址: http://www.djcxy.com/p/55541.html