Soundcloud API错误NS_ERROR_DOM_BAD_URI:访问受限制的URI被拒绝(JavaScript)

时间:2013-12-05 06:41:13

标签: javascript api sdk soundcloud

我只是熟悉Soundcloud的API,我遇到了一些麻烦。据我所知,SC.initialize中我需要的只是一个client_id。我已经使用Code Academy的教程开始了,这很棒。现在我正在尝试实施一些我遇到麻烦的事情 当我在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更是一个问题。我是否需要进行进一步的身份验证?我需要的不仅仅是客户ID吗?我再次陷入困境,并希望得到任何帮助。谢谢你的阅读。

(我还跟着编码GOOD的Soundcloud API集成教程一步一步地得到了相同的错误,所以这进一步证实代码可能不是问题,但是连接到API可能是)

1 个答案:

答案 0 :(得分:1)

这里的问题是,当连接到另一台服务器上托管的API时,必须使用相同的协议。对于本地文件,使用文件协议(file://),soundcloud使用:http://https://

请按照以下步骤操作:

  1. 获取服务器(用于PHP /常规HTML的XAMPP / LAMPP / WAMPP,用于JS服务器的NodeJS或用于Python的Tornado)
  2. 查找服务器使用的协议
  3. 如果您的服务器使用http协议,那么您的域必须是http://soundcloud.com/...,但如果您的服务器使用https协议,那么API的域必须是{{1 }}。因此,一旦您获得匹配的协议,您就可以通过API传递数据。