首页 文章

无法使用带有访问令牌密钥的carrierwave-dropbox上传到Dropbox

提问于
浏览
0

我正在开发一个包含多个组织的Rails(4)应用程序,每个组织都有一个面向公众的表单,访问者可以通过该表单上传文件 . 我面临的挑战是使其足够灵活以支持多个存储提供商 . 我的目标是让组织能够从众多提供商中选择,第一个是Dropbox,作为这些上传的目的地 .

我还利用它和 omniauth_dropbox_oauth2 来获取用户连接Dropbox后的凭据 .

我正在使用Carrierwave来管理我的文件上传,但是在没有提供组织(Dropbox用户)访问令牌秘密的情况下努力上传文件,这是我通过oauth2授权连接时无法获得的 .

我甚至没有让我的Carrierwave Uploader为每个用户动态初始化配置,所以此时我真的只是想了解我在哪里配置它只有我的APP_KEY,APP_SECRET和我的错误ACCESS_TOKEN,根据他们的支持似乎有效 .

不确定这里是否值得共享代码,但是这里是我所在的地方 .

Gemfile

carrierwave (0.10.0)
carrierwave-aws (0.7.1)
  carrierwave (~> 0.7)
carrierwave-dropbox (1.0.2)
  carrierwave (~> 0.9)
  dropbox-sdk (~> 1.6)

application_uploader.rb (Carrierwave)

class ApplicationUploader < CarrierWave::Uploader::Base
  def initialize(*)
    super

    CarrierWave.configure do |config|
      config.dropbox_app_key = ENV['DROPBOX_KEY']
      config.dropbox_app_secret = ENV['DROPBOX_SECRET']
      config.dropbox_access_token = ENV['MY_ACCESS_TOKEN']
      # config.dropbox_access_token_secret = ENV['MY_ACCESS_TOKEN_SECRET']
      # config.dropbox_user_id = <organization.id>
      config.dropbox_access_type = "app_folder"
    end
  end
end

我想知道是否有人可以解释为什么上传失败没有 _access_token_secret .

1 回答

  • 0

    在你的 Gemfile 改变

    gem 'carrierwave-dropbox'
    

    gem 'carrierwave-dropbox', :git => 'https://github.com/robin850/carrierwave-dropbox.git', :tag => 'v2.0.0.rc1'
    

    然后 bundle install .

相关问题