Spotify Apps API:检测离线模式
Posted
技术标签:
【中文标题】Spotify Apps API:检测离线模式【英文标题】:Spotify Apps API: Detect offline mode 【发布时间】:2012-04-08 08:22:17 【问题描述】:有什么方法可以检测 Spotify 是否处于离线模式?我目前正在开发一个明显依赖于工作互联网连接的应用程序。我希望能够检测是否有互联网连接,如果没有,则显示错误消息。
我找到了一些似乎不起作用的 javascript 通用解决方案,例如:
var online = navigator.onLine;
【问题讨论】:
【参考方案1】:您可以通过访问会话对象中的状态来检测客户端是否离线。
https://developer.spotify.com/technologies/apps/docs/a5a59ca068.html
您需要做的是使用观察者监听状态变化并寻找离线状态。
DISCONNECTED: 2
DUMMY_USER: 4
LOGGED_IN: 1
LOGGED_OUT: 0
OFFLINE: 3
var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');
models.session.observe(models.EVENT.STATECHANGED, function()
console.log(models.session.state);
);
【讨论】:
为什么这些东西还没有出现在这些网站上?非常古老的东西仍然存在,交互指南仍在演示 sp.core 的使用! 点击上面的链接会强制我进入developer.spotify.com的主页 这是 Session 对象文档的更新链接。 developer.spotify.com/technologies/apps/docs/beta/… 现在我看到了。对不起我的错。【参考方案2】:这是您在较新的 (2013+) 1.0 API 中执行此操作的方式:
models.session.addEventListener('change:online',function(
console.log('online =',models.session.online);
);
请参阅https://developer.spotify.com/docs/apps/api/1.0/api-models-session.html 了解更多信息。
【讨论】:
【参考方案3】:http://developer.spotify.com/en/libspotify/docs/group__session.html
检查
sp_connectionstate
对于枚举值:
SP_CONNECTION_STATE_OFFLINE
应该得到你想要的。
【讨论】:
啊,对不起,我说的不是 libspotify,而是 Spotify Apps API:developer.spotify.com/en/spotify-apps-api/overview【参考方案4】:对于 Apps API V1,您可以执行以下操作...
require(['$api/models'], function(models)
// add a listener to pick up any changes in on / offline state
models.session.addEventListener('change', changeOffline);
function changeOffline()
var online = models.session.online; // returns true / false
if(!online)
// show offline message etc...
else
// hide offline message etc...
);
https://developer.spotify.com/docs/apps/api/1.0/models-session.html
【讨论】:
以上是关于Spotify Apps API:检测离线模式的主要内容,如果未能解决你的问题,请参考以下文章
Spotify Apps API:图书馆类不会返回用户播放列表
Spotify Apps Api - 创建播放列表的“分享”按钮
通过 Google Apps 脚本进行 Spotify API 授权