我正在尝试从笔记本电脑上的本地HTML页面访问Soundcloud。我被困在托管“callback.html”作为redirect_uri的部分。我试图运行的脚本是Soundcloud文档页面中的基本Authenication JavaScript:
<script src="http://connect.soundcloud.com/sdk.js"></script>
<script>
// initialize client with app credentials
SC.initialize({
client_id: 'my_client_id',
redirect_uri: 'http://127.0.0.1/Users/Maria/Documents/SoundcloudClient/callback.html'
});
// initiate auth popup
SC.connect(function() {
SC.get('/me', function(me) {
alert('Hello, ' + me.username);
});
});
</script>
当我在Chrome和Firefox中启动页面时,此脚本会让我进入连接弹出窗口。 但是,一旦我以Soundcloud用户身份登录,我就会收到以下错误:
Oops! Google Chrome could not connect to 127.0.0.1
如果我将redirect_uri更改为localhost,我会收到同样的错误。
如果我尝试:
files:///C:/Users/Maria/Documents/SoundcloudThinClient/callback.html
我得到了类似的错误。
我也尝试过:
ocalhost:3000
和
localhost:8080
即使我不确定那些端口上会听什么。
所以,基本上,我问我为callback.html设置了什么路径才能使其正常工作?
我承认我不知道redirct_uri实际上是如何起作用的。我查看了Oauth页面,但我不理解它们。我开始认为我不能简单地创建一个HTML页面,粘贴JavaScript,创建一个callback.html文件并使其工作,即使SC文档似乎说这是可能的。如果是这样,我错过了哪些步骤?
答案 0 :(得分:1)
我开始尝试这个了。我相信你必须去开发者网站并注册成为一个应用程序。要求重定向uri,表单会为您提供可在应用中使用的API密钥。
我正在使用drupal,也许添加誓言模块并使用Php添加api密钥可能效果很好。
答案 1 :(得分:1)
我遇到了同样的问题,我想我已经解决了。
编辑后的早晨:我在整个晚上努力寻求解决方案之后发布了这个疲惫不堪的消息。现在,第二天,我意识到你在谈论一般问题,我面对一个非常特殊的例子。以下仅适用于注册soundcloudlabs&#39; soundcloud-group-recorder :https://github.com/soundcloudlabs/soundcloud-group-recorder。不过可能会有一个更普遍的原则潜伏在那里:
首先:是的,你必须在Soundcloud注册你自己的应用程序。至少我推测是这样的。这样做,您必须在您的服务器上正确注册您将放置callback.html文件的位置。获取分配给您的应用的 ClientID ,并在API初始化过程中使用它。
现在,我是一个新手并且知道很少编码。但我开始在主文件application.js中查找。
在文件顶部有两个 client_id 和 redirect_uri 的实例。我不确定这是否有用,或者技术上是否多余。通过反复试验,我发现用自己的数据替换每个实例的第二个实例。
然后 groupId 和 groupUrl ,两者都应包含您的信息,在引号内。
经过大量的试验和错误,仍然无法运行该东西,我环顾四周看到了这一点,而在文件的早期, client_id 被挂钩在SC.initialize中, redirect_uri 不是。在线下:
client_id: CLIENT_ID
我补充说:
redirect_uri: REDIRECT_URI
- 介于两者之间的习惯逗号。就是这样。它运行。