Я найти документацию Spotify немного вводит в заблуждение в отношении Сессий. Есть ряд вещей, которые я обнаружил по пробным ошибкам и Google, а не из документов.
Как @Backer говорит, ch ange версии API до 1.3.0 (или выше, если доступно). Обратите внимание, что для этого необходимо перезапустить Spotify, чтобы он вступил в силу.
Затем вы можете получить доступ к объекту Session как это (здесь, «сессия» должна быть в нижнем регистре):
models.session.load('product','connection','device','user').done(function(s){
console.log('sess:',s)
});
Объект пользователя будет частью этого, но это не будет заселена со свойствами, если вы не загружаете их. Ниже приведен пример извлечения подмножества свойств из сессии и пользователя:
require([
'$api/models','$api/models#Session'
], function(models) {
app.user = {};
models.session.load('product','connection','device','user').done(function(sess){
sess.user.load('name', 'username', 'subscribed').done(function(user){
app.user.name = user.name; // string
app.user.username = user.username; // string
app.user.subscribed = user.subscribed; // boolean
});
app.user.connection = sess.connection; // string
app.user.country = sess.country; // string ISO-2
app.user.device = sess.device; // string
app.user.language = sess.language; // string ISO-2
app.user.product = sess.product; // string
});
});
Весь объект Сессия:
Session
_done: 65535
_listening: true
_ob: Object
_obcount: 1
_requestArgs: Array[0]
_requestName: "session_event_wait"
capabilities: Object
connecting: false
connection: "wlan"
country: "SE"
developer: true
device: "desktop"
incognito: false
language: "en"
online: true
product: "open"
resolution: 1
streaming: "enabled"
testGroup: 000
user: User
_done: 255
currentUser: true
identifier: "longcodehere"
image: "http://profile-images.scdn.co/artists/default/anotherlongcodehere"
images: Array[2]
name: "My Name"
subscribed: false
uri: "spotify:user:@"
username: "myusername"
__proto__: c
__proto__: c