我正在开发一个包含多个组织的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 回答
在你的
Gemfile
改变至
然后
bundle install
.