Использование Spotify Framework API

Вероятно, это моя вина, но я не могу запустить классы в Framework Api Spotify.

В качестве примера я возьму пользовательский класс (https://developer.spotify.com/technologies/apps/docs/preview/api/api-models-user.html)

$(function() {
   var sp = getSpotifyApi();
   sp.require(['$api/models'], function(models) {
       var user = models.User.currentUser;
       console.log(user);
   });
 });

// Uncaught TypeError: Object $api/models has no method 'match'

or

$ (function() {
  var sp = getSpotifyApi();
  var models = sp.require('$api/models');
  models.User.fromURI('spotify:user:1167149818', function(user) {
      console.log(user);
  });

});
// Uncaught TypeError: undefined is not a function $api/script/models.js: 2142

Не работает для меня.

Но я заметил, что классы и методы в этом API (https://developer.spotify.com/technologies/apps/docs/) работают! Так что я думаю, что я что-то пропустил.

Не могли бы вы очистить мой разум? Спасибо!

EDIT Согласно документации: "Должен быть только один вызов для запроса модуля, и он должен быть на верхнем уровне (не внутри другой функции)".

Пробовал выносить весь код за пределы функции, но результат не меняется


person Raffaele Izzia    schedule 24.03.2013    source источник
comment
У вас есть пробелы в строке '$ api / models', а их нет.   -  person Felix Kling    schedule 24.03.2013
comment
Это ошибка копирования/вставки. Этого нет в моем коде :D   -  person Raffaele Izzia    schedule 24.03.2013
comment
Согласно документации: должен быть только один вызов модуля require, и он должен быть на верхнем уровне (не внутри другой функции). Пробовал выносить весь код за пределы функции, но результат не меняется   -  person Raffaele Izzia    schedule 24.03.2013


Ответы (1)


Ответ довольно прост, возможно, вы используете 0.x API, которые были СТАРЫМИ. Чтобы использовать новые API "require(['blah']), вам нужно переключиться на API 1.x, и вы можете найти функциональный пример здесь: https://github.com/spotify/apps-tutorial/tree/1.0

Попробуйте с этим, я уверен, что это сработает :)

Пример вызова API:

require(['$api/models'],function(models){
    console.log(models.session.user)
});
person Julian Xhokaxhiu    schedule 24.03.2013