Facebook / home缺少音乐元素

时间:2012-03-02 00:49:42

标签: facebook facebook-graph-api spotify

当某人共享Spotify播放列表时,图谱API中缺少附件。

Facebook上显示的内容:

enter image description here

Graph API返回的内容:

{
  "id": "********_******", 
  "from": {
    "name": "*****", 
    "id": "*****"
  }, 
  "message": "Refused's setlist from last night's secret show in Sweden...", 
  "icon": "http://photos-c.ak.fbcdn.net/photos-ak-snc1/v85005/74/174829003346/app_2_174829003346_5511.gif", 
  "actions": [
    {
      "name": "Comment", 
      "link": "http://www.facebook.com/*****/posts/*****"
    }, 
    {
      "name": "Like", 
      "link": "http://www.facebook.com/*****/posts/*****"
    }, 
    {
      "name": "Get Spotify", 
      "link": "http://www.spotify.com/redirect/download-social"
    }
  ], 
  "type": "link", 
  "application": {
    "name": "Spotify", 
    "canvas_name": "get-spotify", 
    "namespace": "get-spotify", 
    "id": "174829003346"
  }, 
  "created_time": "2012-03-01T22:24:28+0000", 
  "updated_time": "2012-03-01T22:24:28+0000", 
  "likes": {
    "data": [
      {
        "name": "***** *****", 
        "id": "*****"
      }
    ], 
    "count": 1
  }, 
  "comments": {
    "count": 0
  }, 
  "is_published": true
}

除了类型为“链接”且应用程序为Spotify之外,绝对没有对附件的引用。

如果你想测试,Spotify的页面(http://graph.facebook.com/spotify/feed)通常有一个或两个嵌入的播放列表(并且缺少Graph API)。此外,如果您将家庭Feed添加到Spotify故事(http://graph.facebook.com/me/home?filter=app_174829003346),您将获得一堆没有附件的无用故事(假设您的朋友最近分享了音乐)

任何人都有任何想法如何访问播放列表详细信息,或第三方开发人员无法使用(如果是这样,这是一个非常糟糕的用户体验,因为如果没有附件,这个故事就毫无意义。)

我可以使用user_actions.listens轻松获取scrobbles。此外,如果有最近的活动故事,例如“彼得听了The Shins”,我能够获得有关乐队的信息。问题只发生在附件上。

2 个答案:

答案 0 :(得分:0)

没有用于获取有关Spotify播放列表的信息的公共API。可用的是open.spotify.com上的公开着陆页,例如此播放列表:http://open.spotify.com/user/esset09/playlist/1mpigLgHAAyrZh9a99NlXb

如果你真的想要掌握播放列表信息(如果你是大胆的话),我想你可能会流氓并将其从播放列表页面中删除(使用YQL或自定义刮刀)。但是,可能会有一堆Javascript加载,所以抓它可能不那么容易。

答案 1 :(得分:0)

我发现同样如此,目前无法从Graph API中提取有关歌曲的播放列表或乐队名称的信息。我同意您可以从http://open.spotify.com中提取所需内容,如果您使用的是开放式图形协议,则不会太困难。

有许多辅助库可用。我使用opengraph for Python。它比构建一个刮刀更简单,只需拉动你想要的标签。