redirect_uri以及如何在SoundCloud上托管callback.html?

时间:2012-11-11 18:59:25

标签: soundcloud

我正在尝试从笔记本电脑上的本地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文档似乎说这是可能的。如果是这样,我错过了哪些步骤?

2 个答案:

答案 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中查找。

  1. 在文件顶部有两个 client_id redirect_uri 的实例。我不确定这是否有用,或者技术上是否多余。通过反复试验,我发现用自己的数据替换每个实例的第二个实例。

  2. 然后 groupId groupUrl ,两者都应包含您的信息,在引号内。

  3. 经过大量的试验和错误,仍然无法运行该东西,我环顾四周看到了这一点,而在文件的早期, client_id 被挂钩在SC.initialize中, redirect_uri 不是。在线下:

  4. client_id: CLIENT_ID

    我补充说:

    redirect_uri: REDIRECT_URI

    - 介于两者之间的习惯逗号。就是这样。它运行。