2013-01-23 50 views
2

我正在寫一個網絡應用程序,使我們的客戶可以將他們的個人Google Drive上的文件同步到我們的叢林應用程序。 (只有有限的文件類型)。asp.net mvc應用程序需要訪問用戶谷歌驅動器帳戶從「服務」

那麼 - 到目前爲止的工作:

  • 用戶立即登記到應用程序(使用的OAuth2和我的最終節省了refreshtoken)的用戶/和我的應用程序,現在可以訪問文件在他們的驅動器,並可以手動調用文件傳輸。

工作正常。

  • 用戶可以事後再次登錄並重復此操作,無需再次驗證應用程序。精細。同時,我需要某種「服務」,通過我們的應用程序的用戶基礎循環,並自動同步文件在指定的文件夾中 - 比如說每10分鐘一次。

現在即時通過OAuth2模型遇到問題,需要重定向以驗證每個用戶。但我無法從單個請求中創建多個重定向,比如說「/ SyncAllUsers」。 另外,當僅用一個用戶進行測試時,用戶仍然必須登錄到瀏覽器會話中,否則Google會重定向到服務登錄頁面。

(我們使用的chron作業調用這些方法在指定的時間間隔 - 這是用的Dropbox賬戶運作良好,並且這些用戶也使用OAuth)


所以基本上2個問題:

  • 我如何訪問我的用戶硬盤帳戶,我已授權的應用程序,而無需用戶「在登錄」
  • 我應該如何處理同步服務,而不必在每個用戶重定向運行。

我已經花了幾天尋找https://developers.google.com/drive/的答案,並在這裏。 我有impl。這裏的OAuth代碼https://developers.google.com/drive/credentials#retrieve_oauth_20_credentials 我修改了它,以便它使用我自己的用戶數據庫。

對於使用Web應用程序的客戶端ID你的信息來源IM,在谷歌API控制檯

回答

0

一旦你的刷新令牌,你可以用它無需用戶干預進行同步。這是訪問offline的性質和刷新令牌的全部目的。

(很抱歉,如果這不回答你的問題,我不是很確定你是問什麼,所以請解釋更多,我會盡量給你一個不同的/更好的答案。)

+0

阿里你好。 Thx的答案 - 我幾個星期後發現它,忘了在這裏發佈解決方案。但是,這個url中的'offline'參數有訣竅 - 太糟糕了,以至於開發者網站上的例子並沒有把這一點弄清楚。 順便欣賞你的開發視頻;) – Hulvej

相關問題