无法将新曲目发布到Soundcloud,422

时间:2015-05-18 17:58:12

标签: ruby ruby-on-rails-4 soundcloud

在尝试向Soundcloud发布新曲目时,我正在寻求帮助。我已经成功验证了用户身份,但是在尝试发布曲目时,可能会遇到我发送给Soundcloud的数据格式的问题。这是我的代码:

  client = Soundcloud.new(:access_token => current_user.access_token)

  sound = params[:sc_upload][:sound]
  title = params[:title]

  track = client.post('/tracks', track: {
     :title   => title,
     :asset_data => File.new(sound.tempfile.path, 'rb')
    })

期待不同的回复,然后我尝试将文件存储在公共/上传中,然后像这样访问它:

  track = client.post('/tracks', track: {
     :title   => title,
     :asset_data => open(Rails.root.join('public', 'uploads', sound.original_filename).to_s)
    })

接收,仍然是422错误,我尝试了这个有趣的:asset_data:声音,其中声音是ActionDispatch :: Http :: UploadedFile<宾语。 http://api.rubyonrails.org/classes/ActionDispatch/Http/UploadedFile.html

  sound = #<ActionDispatch::Http::UploadedFile:0x007f922c55c920 @content_type="audio/x-wav", @headers="Content-Disposition: form-data; name=\"sc_upload[sound]\"; filename=\"1980s-Casio-Violin-C5.wav\"\r\nContent-Type: audio/x-wav\r\n",
  @original_filename="1980s-Casio-Violin-C5.wav", @tempfile=<File:/var/folders/h1/bhw9lw797d35shc2fkws70g00000gn/T/RackMultipart201505 8-2513-8r2tq7>>

我每次都收到一个SoundCloud :: ResponseError(HTTP状态:422 Unprocessable Entity)。我将不胜感激任何帮助。可能与:Can't post new track via PHP Soundcloud API

有关

感谢。

1 个答案:

答案 0 :(得分:1)

我发布了Can't post new track via PHP Soundcloud API.我认为这绝对是相关的,也是API中的最新问题。很高兴它不只是发生在我身上@bagofcole;)来自Soundcloud团队的任何反馈都将不胜感激。特别是因为它似乎不是特定于PHP的。