我想運行自動化腳本以從服務器上的Dropbox文件夾中讀取文件。我開始研究那裏的Dropbox寶石,他們似乎都要求用戶通過打開瀏覽器來驗證會話。這對於自動化任務顯然沒有意義。有沒有辦法做到這一點,而不需要用戶手動實際打開瀏覽器?如何使用Ruby從遠程服務器上的Dropbox讀取文件?
回答
他們都需要Web瀏覽器的原因是Dropbox使用OAuth v1。有一種解決方法,Dropbox API的精神可能不會100%。C.
我會從創建一個Dropbox帳戶開始,該帳戶將成爲您在腳本中使用的用戶帳戶。以該用戶的身份手動登錄並轉至應用的授權網址並批准。
在您的腳本中,您將創建一個使用該用戶標識和密碼登錄的HTTP連接。您需要將信息保留在描述用戶會話的響應中。使用會話信息創建授權URL的第二個HTTP連接。由於該應用已獲得授權,因此您只需從重定向網址捕獲會話令牌即可。
這樣做的缺點是用戶的密碼在腳本中。 :P
這些會話不會過期嗎? –
他們當然會。即使是傳統的Dropbox網絡應用程序,您代表第三方用戶(您通常使用重定向/授權流程,因此您永遠不會觸摸其密碼)也是如此。您可以將此代碼抽象爲每次會話過期時可調用的內容。這絕對是一個黑客,因爲OAuth人員真的不考慮自動化的用例。他們只關心允許應用程序在不知道密碼的情況下代表活動用戶採取行動。 –
嗯...謝謝。我想我必須考慮一下,在我們的用例中使用Dropbox是否真的有意義。 –
- 1. 如何從位於遠程服務器上的Jar文件讀取文件
- 2. 使用php腳本從遠程服務器讀取大文件
- 3. 如何從遠程sftp文件服務器讀取圖像
- 4. Java程序無法從Linux服務器遠程讀取文件
- 5. perl的SSH遠程服務器上讀取文件
- 6. 在遠程服務器上讀取文件
- 7. 使用jquery從服務器上的文本文件中讀取
- 8. 如何讀取遠程服務器上的捲曲和回覆
- 9. 如何使用scala從服務器讀取文本文件
- 10. 如何使用ajax從django服務器讀取文本文件?
- 11. 如何使用phpStorm從遠程服務器中刪除文件
- 12. 使用AJAX從其他遠程服務器獲取文件?
- 13. 使用VBscript從遠程服務器讀取時,文件大小返回零
- 14. 使用PHP將文件從遠程服務器上傳到FTP服務器
- 15. 使用python從ssh讀取服務器上的文件
- 16. 如何從FTP服務器上逐行讀取文本文件?
- 17. 如何從本地服務器在遠程服務器上創建文件?
- 18. 如何從Web服務器上的xml文件讀取數據
- 19. 如何從遠程服務器讀取變量?
- 20. OPC客戶端 - 如何從遠程OPC服務器讀取
- 21. 如何使用PHP讀取遠程服務器上的目錄內容?
- 22. 獲取日期從文件上傳到遠程FTP服務器
- 23. 從django文件上傳到遠程服務器的文件
- 24. Ruby:檢查遠程服務器上是否存在文件
- 25. 讀取服務器上的Excel文件
- 26. Firefox擴展/插件:從遠程服務器(URL)讀取文本文件
- 27. 上傳文件遠程服務器
- 28. 如何使用JSP讀取遠程網站上的XML文件?
- 29. 在遠程服務器上讀取任務的歷史記錄
- 30. 如何使用Java套接字從遠程服務器讀取響應
你爲什麼不公開文件,只是wget url並閱讀文件內容?順便說一句,你可以從ruby調用wget。 – sunnyrjuneja
這是一家公司,所以公開是不可能的。 –
你看過dropbox-api寶石嗎?這對OAuth有效,似乎並不要求您在瀏覽器中進行身份驗證:https://github.com/futuresimple/dropbox-api –