我試圖從應用程序中使用ruby sdk(soundcloud 0.2.0 gem)從Soundcloud下載曲目。我已經在soundcloud上註冊了該應用程序,並且client_secret是正確的。我知道這一點,因爲我可以使用應用程序查看我的個人資料信息和曲目。 現在,當我嘗試使用下面的代碼使用Ruby SDK從Soundcloud下載曲目
@track = current_user.soundcloud_client.get(params[:track_uri])
data = current_user.soundcloud_client.get(@track.download_url)
File.open("something.mp3","wb"){|f|f.write(data)}
下載的軌道,當我打開文件時,它沒有任何關係了。我試過很多方法,包括下面的一個,
data = current_user.soundcloud_client.get(@track.download_url)
file = File.read(data)
而這一次給我一個錯誤
can't convert nil into String
上是
app/controllers/store_controller.rb:13:in `read'
線13是File.read
功能。
我有雙重檢查,我試圖下載的曲目是公開的和可下載的。 我試圖通過從控制檯複製它並使用郵遞員發送請求來測試正在顯式使用的download_url,並且它工作正常。我不確定爲什麼當其他的東西工作的很好時,它不能與應用程序一起工作。
我想要做的是成功地能夠下載或至少獲得我可以存儲在某個地方的數據。
版本的詳細信息: -
紅寶石1.9.3p194(2012-04-20修訂35410)x86_64的Linux的]
的Rails 3.2.18
的SoundCloud 0.2.0
顯然'nil'是來自'soundcloud_client.get(...)'的有效響應(或者至少是一個可能的響應),所以你應該測試和處理這種可能性。 – 2014-09-02 12:38:19