Spotify Apps API:还有更多文档吗?

Posted

技术标签:

【中文标题】Spotify Apps API:还有更多文档吗?【英文标题】:Spotify Apps API: any more documentation? 【发布时间】:2012-01-11 07:31:50 【问题描述】:

我从昨天开始就一直在玩新的Spotify Apps API,但即使他们在线的文档非常好,我也找不到任何关于使用您在调用getSpotifyApi(1) 后收到的 API 对象的内容。他们在网上有某种API reference,但没有描述如何获取这些对象,如何访问图形等内置资源。总而言之,我觉得我错过了一些东西。 通过使用开发人员检查器检查 API 并查看一些可用的应用程序,我能够使用它。有没有办法查看javascript代码?

【问题讨论】:

【参考方案1】:

正如其他人所说,可以浏览源代码并查看示例“API”应用程序,但这些都不再可用。出于这个原因,我整理了一个厨房水槽应用程序,它演示了如何执行大部分基本功能。它对任何入门的人都可能派上用场:

https://github.com/ptrwtts/kitchensink

在自述文件中,还有一个有用资源列表,但我将在此处复制其中一些以方便访问:

文档

Spotify 应用文档:http://developer.spotify.com/en/spotify-apps-api/overview/

构建 Spotify 应用程序:http://musicmachinery.com/2011/12/02/building-a-spotify-app/

PasteBin 示例:http://pastebin.com/u/MrSiir

应用程序

教程:http://developer.spotify.com/download/spotify-apps-api/tutorial/

情绪旋钮:https://github.com/alexmic/mood-knobs

Spartify:https://github.com/blixt/spartify

SpotifyEchoNestPlaylistDemo:https://gist.github.com/1438262

【讨论】:

【参考方案2】:

目前文档非常稀少。我发现查看应用程序包中 Spotify.app 的资源很有帮助。

在 Mac 上,您可以在以下应用程序包中找到一些有趣的资源:Spotify.app/Contents/Resources/cef_views

更新:使用新版本的 spotify 预览,我的解决方案不再完全适用。您仍然可以访问 Spotify.app/Contents/Resources/apps 上的一些资源,但它们现在被压缩到每个应用程序一个文件中。但是,您仍然可以通过查看这些文件来访问某些信息。

【讨论】:

啊,谢谢,cef_views 文件夹很有趣。在那里你可以找到所有的 API 脚本、css 文件等。超级有用! 在我的 MacBook 上似乎找不到此文件夹(顺便说一下,Spotify 会在打开它时崩溃),并且 Windows 上似乎没有相应的文件夹。有什么线索吗? 在 Windows 中,该文件夹以 .zip 文件 (resources.zip) 的形式位于数据文件夹中,接下来是 Spotify.exe。就我而言,这是“C:\Users\buchetics\AppData\Roaming\Spotify\Data\resources.zip”。在 Mac 上,您需要右键单击 Spotify.app 并选择“显示包内容”(或类似的东西),然后您可以导航到包内的文件夹。 似乎所有内容都被编译成 .spa 文件类型。我发现我可以使用十六进制编辑器来浏览内容,您有没有更好的方法? 您可以使用 'tar -xvf filename.spa' 提取内容。【参考方案3】:

我只是在“sp”对象上做一个console.log 来追踪它包含的所有对象。 sp 对象的名称很容易理解,因此您可以更深入地了解 Spotify API。示例:

sp = getSpotifyApi(1);
toStringObject(sp);

function toStringObject(aObject, aTab)
  if(aTab == undefined || aTab == null)
    aTab = '';
  
  for(var string in aObject)
    console.log(aTab + 'object: ' + string + ', value: ' + aObject[string]);
    if(typeof(aObject[string]) == 'object')
      toStringObject(aObject[string], aTab + '\t');
      console.log('-------------------------------------');
    
  

给你输出:

...
    object: addEventListener, value: function addEventListener()  [native code] 
        object: hideSharePopup, value: function hideSharePopup()  [native code] 
    -------------------------------------
    object: trackPlayer, value: [object Object]
        object: setContextCanSkipPrev, value: function setContextCanSkipPrev()  [native code] 
        object: removeEventListener, value: function removeEventListener()  [native code] 
        object: setVolume, value: function setVolume()  [native code] 
        object: playTrackFromContext, value: function playTrackFromContext()  [native code] 
        object: canChangeRepeat, value: function canChangeRepeat()  [native code] 
        object: setShuffle, value: function setShuffle()  [native code] 
...

【讨论】:

【参考方案4】:

查看可能的一个好方法是使用示例“api”应用程序。通过在搜索框中键入“spotify:app:api”并使用检查器查看包含的代码来做到这一点。

这里也有教程:http://developer.spotify.com/download/spotify-apps-api/tutorial/

希望这会有所帮助!如果您有任何问题,也请始终联系 mager@spotify.com。

【讨论】:

无法获得“spotify:app:api”来启动应用程序,我总是收到“找不到应用程序”错误消息。使用最新的预览版 (0.8.0.873)。 “这个新预览版中的应用目前在 Spotify 的发布国家/地区之外不可用,因此您暂时无法使用它们。”

以上是关于Spotify Apps API:还有更多文档吗?的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Spotify Apps API 中获取艺术家的专辑

通过 Spotify Apps API 创建播放列表文件夹

Spotify API - 在 Google Apps 脚本中检索有效的访问令牌

Spotify Apps API:获取其他用户的播放列表

Spotify Apps API:图书馆类不会返回用户播放列表

如何使用 Spotify Apps API 对象?