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

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

【问题讨论】:

    标签: javascript api spotify


    【解决方案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 的发布国家/地区之外不可用,因此您暂时无法使用它们。”
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-08
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-28
        相关资源
        最近更新 更多