2011-08-12 36 views
3

我正在創建一個移動應用程序,播放存儲在我的SoundCloud帳戶中的音樂。使用我的網頁表單和API上傳到我的soundcloud帳戶?

有什麼辦法可以創建一個自動登錄到我的SoundCloud帳戶(PHP)?我不希望每個用戶都必須使用OAuth,因爲它只訪問我的帳戶,並且他們已經登錄到我的網站。

基本上我只想擁有一個用戶曲目列表,並且讓用戶能夠使用我的網絡表單添加或刪除此帳戶中的曲目。

我見過的所有文檔都使用OAuth登錄到個人帳戶,但我只想訪問我的帳戶。

任何幫助或方向看將是巨大的

感謝

+0

您會如何防止惡意用戶刪除所有人的曲目?在這種情況下,使用單個用戶的SoundCloud登錄似乎是更困難的選擇;對於大規模協作式聲音共享,像SpinXPress這樣的東西似乎是更好的工具。 – aendrew

+0

即時通訊將有用戶登錄到我的網站,並通過一些MySQL和PHP我只會允許用戶修改自己的文件。我檢查了spinxpress它似乎不是一個非常高品質的網站im不知道我是否會信任它做我需要的東西。 soundcloud對於流式音頻非常出色,我不確定我是否可以擺脫它。 –

+0

SpinXPress只是我頭頂的第一件事。我的意思是,只要確保它在SoundCloud的ToS內;我感覺他們可能不會允許對給定用戶的帳戶進行基本上匿名的上傳請求。聽起來很酷;如果你設法解決這個問題,我完全有興趣檢查它。 – aendrew

回答

0

這裏是我的建議:讓你的用戶爲自己創建單獨的SoundCloud帳戶,然後創建一個界面,讓他們與你分享單獨的曲目,然後你可以聚合成某種類型的播放列表(然後可以流式傳輸通過SoundCloud無論你想要什麼設備)。

這具有以下優點:

  1. 您維護自己的個人的SoundCloud帳戶的控制,不擔心其擴大到不可收拾的大小。
  2. 您可以調節曲目,讓您可以屏幕享受版權或巨魔內容。
  3. 它更具可擴展性 - 如果您使用Drupal的聚合工具或FeedWordPress之類的插件(不知道您的CMS平臺是什麼,如果有的話),還可以採用和使用您正在使用的軌道RSS源您的用戶在其他地方,因此可能會增加您的受衆羣體的規模。即,一個顯示人們可以放入社交個人資料或博客或其他內容的最新曲目的小部件。
  4. 如果設置不夠好,你的解決方案也許能涵蓋非的SoundCloud流的來源 - YouTube等

基本上,你傾倒發送到你進入一個RSS feed鏈接,這是使用跨瀏覽器和跨操作系統的超級簡單工作。我個人使用Drupal,但我相信在Joomla!,WordPress或任何其他值得使用的CMS的CMS中,都可以輕鬆做到這一點。

0

貌似可以解析JSON格式

http://api.soundcloud.com/tracks?client_id=#{client_id}&limit=10&format=json 

軌道數據有沒有「登錄」兩種。你只是抓住用戶的公共軌道。

Soundcloud有一整個developer API,你應該刷牙。

+0

我知道如何加載和播放歌曲,其上傳到soundcloud即時通訊有麻煩。我也廣泛地研究了這個API,但它的目標是讓用戶登錄他們自己的soundcloud帳戶。我希望用戶只能上傳到我的帳戶。 –

1

我能夠使用無證編程方式登錄到一個的SoundCloud賬戶PHP credentialsFlow功能(在PHP尚未!):

$sc_client_id = "Client ID from the developer page on soundcloud for your app"; 
$sc_secret = "Client Secret from the developer page"; 
$sc_user = "your soundcloud account user"; 
$sc_pass = "your soundcloud account password"; 
// create client object and set access token 
$client = new Services_Soundcloud($sc_client_id, $sc_secret); 
// login 
$client->credentialsFlow($sc_user, $sc_pass); 

然後你可以使用$客戶端變量上傳的音頻文件,例如此代碼取自'上傳音頻文件',http://developers.soundcloud.com/docs#uploading

// upload audio file 
$track = json_decode($client->post('tracks', array(
    'track[title]' => 'This is my sound', 
    'track[asset_data]' => '@/absolute/path/to/file.mp3' 
))); 

// print track link 
print $track->permalink_url; 
相關問題