5

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

4

4 回答 4

17

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

https://github.com/ptrwtts/kitchensink

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

文档

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

于 2011-12-30T01:29:45.993 回答
7

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

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

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

于 2011-12-02T18:04:23.320 回答
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] }
...
于 2011-12-12T12:50:48.197 回答
2

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

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

希望这可以帮助!如果您有任何问题,请务必联系 mager@spotify.com。

于 2011-12-07T15:02:16.283 回答