2016-02-09 57 views
1

在我的ruby on rails應用程序中,我希望能夠從我自己的Dropbox中的目錄中讀取(只讀)文件。訪問dropbox /谷歌驅動器

我發現的所有教程都是授權訪問訪問者的保管箱,因此需要使用他們的oauth登錄頁面登錄到保管箱。

有沒有辦法通過使用我的憑據來做到這一點我會保存在我的應用程序中的文件(所以不需要手動記錄自己)?

我也想能夠從谷歌驅動器做到這一點。

謝謝!

+0

似乎類似於:https://stackoverflow.com/questions/13402650/dropbox-app-destined-to-interact-with-only- one-dropbox-account簡而言之,是的,您可以僅爲自己的帳戶存儲和重新使用OAuth令牌。 – Greg

回答

1

我按照以下步驟操作,並且已經讀取/寫入我的Dropbox。

標題: 使用Dropbox的與在Heroku

Ruby on Rails的

目的: 的Heroku不提供持久存儲和建議的Amazon S3這就需要一張信用卡來註冊並使用它。因此,Dropbox可能是一個很好的替代品,至少在培訓和開發水平方面。

步驟: 1.安裝SDK 命令:寶石安裝升降梭箱-SDK 鏈路:https://www.Dropbox.com/developers-v1/core/sdks/ruby

  • 創建收存箱戶頭如果你沒有一個 鏈路:https://www.Dropbox.com 行動:建立一個帳戶

  • 創建一個應用程序上的Dropbox平臺 鏈接:https://www.Dropbox.com/developers/apps 動作:應用爲你指定一個名字,你會鑑於APP鍵和App祕密 備註:應用程序可以訪問整個Dropbox的,或只是一個特定的文件夾

  • 試試這個基本教程來測試你可以做什麼 鏈接:https://www.Dropbox.com/developers-v1/core/start/ruby 行動: a.replace「INSERT_APP_KEY」和「INSERT_APP_SECRET」你應用程序鍵 b.Execute Ruby腳本 c.Browse給定鏈路授權並生成訪問令牌 d.Copy和粘貼代碼腳本控制檯上,繼續 注意: 腳本試圖加載首先需要一個本地文件,所以一定要在正確的路徑上創建它 執行步驟: a.Authenticate b.Upload文件 c.Download文件,並將其寫入本地

  • 你可以在你的應用程序生成的訪問令牌家裏使用它,而不是每次與APP_KEY & APP_SECRET

  • 要在生成它使用帶導軌的Dropbox(CarrierWare) 鏈接:https://github.com/robin850/carrierwave-Dropbox 步驟: 6a。包括gem'carrierwave-Dropbox'在你的Gemfile 6b中。運行'捆綁安裝' 6c。運行 耙的Dropbox:授權APP_KEY = APP_KEY APP_SECRET = app_secret ACCESS_TYPE =的Dropbox | app_folder
  • 6D。在ImageUploader文件中設置相應的設置(CustomNameUploader)

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

    7.如果你是在一個源控制這將是更好的選擇,設定值的env瓦爾,然後用它們來代替。 鏈接顯示如何在ubuntu中設置或保留環境變量。 鏈路:https://help.ubuntu.com/community/EnvironmentVariables

  • 在生產(heroku上)設置環境瓦爾像如下: 用法:Heroku的配置:設置ACCESS_TOKEN_SECRET='your_app_access_token_secret' 鏈路:https://devcenter.heroku.com/articles/config-vars

  • 這將是一個好的做法是在config/initializers中創建carrierwave.rb文件並將所有設置放在該文件中 也可以爲生產和開發設置條件

  • 請注意,Dropbox可能會很慢你會得到應用程序錯誤,所以嘗試用較小的文件,並加載他們 與分頁,如果他們太多。

  • 這是在LinkedIn發佈的鏈接: https://www.linkedin.com/pulse/using-dropbox-ruby-rails-heroku-serjik-isagholian?trk=prof-post