2012-11-11 54 views
4

我想從筆記本電腦上的本地HTML頁面訪問Soundcloud。我被卡在主機「callback.html」的部分作爲redirect_uri。我試圖運行該腳本是從的SoundCloud文檔頁面的基本Authenication的JavaScript:redirect_uri以及如何在SoundCloud上託管callback.html?

<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文檔似乎認爲這是可能的。如果是這樣,我錯過了哪些步驟?

回答

1

我開始嘗試這個。我相信你必須去開發者網站並註冊成爲一個應用程序。請求重定向URI,並且表單會爲您提供一個可在您的應用中使用的API密鑰。

我正在使用drupal,因此可能添加誓言模塊並使用Php添加api密鑰可能會有效。

+0

這是一個答案或問題? –

1

我有同樣的問題,我想我解決了它。

上午編輯之後:我在通過夜晚解決問題之後,發佈了這個疲倦的工作。現在,第二天,我意識到你是在談論一般問題,我正面臨一個特殊的例子。以下僅適用於註冊soundcloudlabs'soundcloud-group-recorderhttps://github.com/soundcloudlabs/soundcloud-group-recorder。雖然有一個更普遍的原則潛伏在那裏,但:

第一:是的,你必須在Soundcloud註冊爲你自己的應用程序。至少我推測如此。做到這一點,你必須正確地註冊你的服務器上你將放置callback.html文件的位置。將ClientID分配給您的應用程序,並將其用於API初始化過程。

現在,我是一個新手,知道很少的編碼。但是我開始在主文件application.js中查看。

  1. 在文件的頂部有CLIENT_IDREDIRECT_URI每個的兩個實例。我不確定這是否有用,或者技術上是多餘的。通過試驗和錯誤,我發現用自己的數據替換每個數據的第二個實例。

  2. 再有就是的groupIdgroupUrl,這兩者應該包含您的信息,引號內。

  3. 大量的試驗和錯誤後,仍遇到麻煩事跑,我環顧四周,看到的,而文件中的早期,CLIENT_ID是內SC.initialize上鉤,REDIRECT_URI不。下的線:

client_id: CLIENT_ID

我加入:

redirect_uri: REDIRECT_URI

- 在它們之間具有常規逗號。就是這樣。它運行。