Вот решение с AngularJS, заголовками OAuth и ngResource. Сначала вам нужно пройти аутентификацию (от 1 до 4), затем вы можете создать список воспроизведения, передав учетные данные (от 5 до 7).
1/ Используйте Soundcloud Javascript SDK для аутентификации вашего клиента (см. http://developers.soundcloud.com/docs/api/sdks#authentication).
2/ Получить токен доступа, используя SC.accessToken()
3/ Добавьте заголовок авторизации OAuth в службу $http
:
$http.defaults.headers.common['Authorization'] = "OAuth #{accessToken}"
4/Настройте приложение angular для передачи учетных данных в запросах AJAX:
ngApp.config([
'$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common['Accept'] = 'application/json';
$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
$httpProvider.defaults.useXDomain = true;
return delete $httpProvider.defaults.headers.common['X-Requested-With'];
}
]);
5/ Я использую службу, используя ngResource
(см. https://docs.angularjs.org/api/ngResource/service/$resource) для облегчения запросов API:
angular.module('ngApp.services').factory('SCPlaylists', [
'$resource', function($resource) {
return $resource('https://api.soundcloud.com/me/playlists/:id', null, {
update: {
method: 'PUT'
}
});
}
]);
6/Вот объект плейлиста:
{title: "abc", sharing: "private"}
7/ Наконец, создание плейлиста:
$scope.newPlaylist = SCPlaylists.save({}, {
playlist: playlist
}, function(playlist) {
return console.log(playlist);
});
Я надеюсь, что это помогает!
person
ocolot
schedule
29.06.2014