访问Dropbox / google驱动器

时间:2016-02-09 18:16:03

标签: ruby-on-rails ruby google-drive-api google-oauth dropbox

在我的ruby on rails应用程序中,我希望能够从我自己的Dropbox中的目录中读取(仅读取)文件。

我找到的所有教程都是授权访问访问者的保管箱,因此需要使用他们的oauth登录页面登录dropbox。

有没有办法通过使用我的凭据来保存我的应用程序中的文件(因此无需手动记录自己)?

我也希望能够通过Google驱动器进行此操作。

谢谢!

1 个答案:

答案 0 :(得分:1)

我已按照以下步骤操作,并且已阅读/写入我的Dropbox。

名称:     在Heroku上使用Dropbox和Ruby On Rails

目标:     Heroku不提供持久存储,并建议亚马逊s3需要信用卡注册和使用它。     因此,至少在培训和发展水平上,Dropbox可能是一个很好的替代品。

步骤: 1.安装sdk     命令:gem install Dropbox-sdk     链接:https://www.Dropbox.com/developers-v1/core/sdks/ruby

  1. 如果您没有,请创建一个Dropbox accout 链接:https://www.Dropbox.com 操作:创建帐户

  2. 在Dropbox平台上创建应用 链接:https://www.Dropbox.com/developers/apps 操作:为您的应用指定名称,您将获得App Key和App Secret 备注:应用程序可以访问整个Dropbox或仅访问特定文件夹

  3. 尝试使用此基础教程来测试您可以执行的操作 链接:https://www.Dropbox.com/developers-v1/core/start/ruby 行动:     a.replace'INSERT_APP_KEY'和'INSERT_APP_SECRET'与您的应用程序键     b。执行ruby脚本     c。浏览给定的链接以授权和生成访问令牌     d。在脚本控制台上复制并粘贴代码并继续 警告:     该脚本首先尝试加载本地文件,因此请确保在正确的路径上创建它 执行步骤:     a.Authenticate     b。上传文件     c。下载文件并将其写入本地

  4. 您可以在应用主页上生成访问令牌并使用它而不是每次使用APP_KEY& APP_SECRET

  5. 使用带有导轨的Dropbox(CarrierWare) 链接:https://github.com/robin850/carrierwave-Dropbox 脚步:     6A。在你的Gemfile中包含gem'carrierwave-Dropbox'     6B。运行'捆绑安装'     6C。跑 rake Dropbox:授权APP_KEY = app_key APP_SECRET = app_secret ACCESS_TYPE = Dropbox | app_folder
  6. 6D。在ImageUploader文件(CustomNameUploader)中设置适当的设置

            class ImageUploader < CarrierWave::Uploader::Base
            storage :Dropbox
    
            def initailize
                    CarrierWave.configure do |config|
                        ...
                        # Dropbox settings
                        ...
                    end
            end
            end
    

    7。如果您在源控件上,最好将值设置为env vars,然后再使用它们。 该链接显示了如何在ubuntu中设置或保留环境变量。     链接:https://help.ubuntu.com/community/EnvironmentVariables

    1. 在生产(heroku)设置环境变量如下: 用法:heroku config:set ACCESS_TOKEN_SECRET='your_app_access_token_secret' 链接:https://devcenter.heroku.com/articles/config-vars

    2. 在config / initializers中创建carrierwave.rb文件并将所有设置放在该文件中是一个好习惯 也可以有条件地设置生产和开发

    3. 请注意Dropbox可能会很慢并且您会收到应用程序错误,因此请尝试使用较小的文件并加载它们 如果它们太多,则加入分页。

    4. 这是在Linkedin上发布的链接: https://www.linkedin.com/pulse/using-dropbox-ruby-rails-heroku-serjik-isagholian?trk=prof-post