可能会发现肖像元数据缓存错误

时间:2012-01-04 07:31:46

标签: spotify

要复制的代码

在我的应用中,我有以下代码。

var seed = "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP";
  sp.core.getMetadata(seed, {
    onSuccess: function (metadata) {
      console.log(metadata);       
    },
    onFailure: function () {}
  });

查看行为的步骤

  1. 如果spotify已经打开关闭它然后重新打开它,打开spotify后运行应用程序并查看显示为
  2. 的控制台
    Object
        name: "Whitesnake"
        portrait: ""
        type: "artist"
        uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP"
      __proto__: Object
    
    1. 然后点击收音机应用程序并根据Whitesnake乐队创建一个电台。
    2. 重新运行原始应用并查看将显示的控制台输出。
    3. Object
          name: "Whitesnake"
          portrait: "spotify:image:3c4aa30d845dd456d750cf16bef8e2cadb2af342"
          type: "artist"
          uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP"
        __proto__: Object
      
      1. 退出spotify并重新运行原始应用程序并查看将显示的控制台
      2. Object
            name: "Whitesnake"
            portrait: ""
            type: "artist"
            uri: "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP"
          __proto__: Object
        

        问题

        为什么收音机应用程序能够访问使用收音机应用程序后可从我的应用程序访问的肖像uri?是否需要先进行某种初始化,或者这是一个错误?

3 个答案:

答案 0 :(得分:1)

如果我理解正确,您已经注意到,在您从收音机中获得带有纵向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"

答案 1 :(得分:1)

在您对该URI进行“浏览”之前,有关艺术家(和专辑等)的一些信息不可用 - 在此之前,Spotify仅下载项目的基本信息以保持提升。

您所看到的是收音机正在进行浏览,这会导致Spotify客户端填写缺失的信息。

Spotify的更新即将推出,这将改善这种行为。

答案 2 :(得分:1)

正如iKenndac所提到的,尝试做一个'浏览':

var seed = "spotify:artist:3UbyYnvNIT5DFXU4WgiGpP";
sp.core.browseUri(seed, {  
    onSuccess: function (metadata) {
        console.log(metadata);       
    },
    onFailure: function () {}
});

此处的示例:https://github.com/ptrwtts/kitchensink