0

私は Soundcloud の API ドキュメントにうまく従いましたが、エラーが発生して行き詰まりました。

彼らの例を使用してファイルをアップロード/投稿するとき、ローカルマシンでファイルをハードコーディングしても問題はありません。私が本当にやりたいことは、S3 に保存されているファイルを転送することです。これはErrno::ENOENT - No such file or directoryエラーで失敗し続けました。Open-URI が含まれており、別のサーバーで公開されているファイルをハードコーディングしてテストしましたが、それでも失敗します。そのため、問題が S3 または私の generate_secure_s3_url にあるとは感じていません。

私のコードは次のとおりです。

def product_tracks_to_soundcloud(access_token)
  require 'soundcloud'
  require 'open-uri'
  # create a client object with access token
  client = Soundcloud.new(:access_token => access_token)

    self.producttracklistings.each do |pt|
        filebase = URI.encode(pt.track.track_file_name, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
        fileurl = generate_secure_s3_url(filebase)
        # upload an audio file
    track = client.post('/tracks', :track => {
      :title => pt.track.name,
      :asset_data => File.new(fileurl, 'rb')
    })
    end
4

1 に答える 1