Ошибка API Soundcloud NS_ERROR_DOM_BAD_URI: запрещен доступ к ограниченному URI (JavaScript)
Я просто познакомился с Soundcloud API, и у меня проблемы. Насколько я могу судить, все, что мне нужно в SC.initialize
, - client_id. Я использовал учебники в Академии Кодекса, чтобы начать, и это было здорово. Теперь, когда я на самом деле пытаюсь реализовать что-то, у меня возникают проблемы.
Когда я запустил свой код в Code Academy, он сделал именно то, что хотел. Теперь, когда я пытаюсь запустить его в браузере, я получаю пустой экран и эту ошибку:
NS_ERROR_DOM_BAD_URI: запрещен доступ к ограниченному URI @http://connect.soundcloud.com/sdk
После некоторых исследований я обнаружил, что эти ошибки связаны с префиксами домена. Поэтому я попытался изменить его на http:// www. connect.soundcloud.com/sdk. Но когда я это делаю, я получаю другую ошибку:
SC
не определен
AHHHH Что я делаю неправильно?!
Я новичок в использовании API, и любая помощь вообще будет очень оценена.
Вот что я делаю:
(JavaScript)
SC.initialize({
client_id: 'hidden for privacy',
});
$(document).ready(function() {
SC.get('/users/5577686/tracks', {limit:7}, function(tracks) {
$(tracks).each(function(index, track) {
$('#tracktitle').append($('<li></li>').html(track.title));
$('#trackimage').append("<img src='" + track.artwork_url + "' />");
$('#play').append("<a href='" + track.permalink_url + "' >" + "Play" + "</a>");
});
});
});
(HTML)
<!DOCTYPE HTML>
<html>
<head>
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script src="soundcloud.js"></script>
</head>
<body>
<div id="tracktitle"></div>
<div id="trackimage"></div>
<div id="play"></div>
</body>
</html>
Я действительно не думаю, что с кодом что-то не так, так как все, казалось, отлично работает в Code Academy. Я думаю, что это больше проблема с ознакомлением с API. Нужно ли выполнять дополнительную проверку подлинности? Мне нужно что-то большее, чем просто идентификатор клиента? Снова я очень застрял и буду благодарен за любую помощь в этом. Спасибо за чтение.
(Я также поступил вместе с Coding for GOOD Soundcloud API Integration tutorial, и я получаю точные точные ошибки, поэтому это еще раз подтверждает, что код, вероятно, не проблема, но подключение к API может быть )
Ответы
Ответ 1
Проблема заключается в том, что при подключении к API, который размещается на другом сервере, вы должны использовать один и тот же протокол. Для локальных файлов используется протокол файлов (file://
), где используется soundcloud: http://
или https://
Выполните следующие действия:
- Получить сервер (XAMPP/LAMPP/WAMPP для PHP/Regular HTML, NodeJS для JS-сервера или Tornado для Python)
- Найдите протокол, который использует ваш сервер
Если сервер использует протокол http
, то ваш домен должен быть http://soundcloud.com/...
, но если ваш сервер использует протокол https
, то домен для API должен быть https://....
. Поэтому, как только вы получите соответствие протоколов, вы сможете передавать данные через API.