2014-05-02 16 views
1

我想製作一個Rails應用程序,可以將文件上傳到Microsoft Skydrive/Onedrive,然後將生成的嵌入代碼保存到我的數據庫中。它看起來像我想使用Interactive Live SDK,因爲REST API只適用於使用Microsoft帳戶的服務的應用程序。在Ruby-on-Rails項目中放置Windows「Interactive Live SDK」

我的問題是,當我去SDK download page它可用於Windows,iOS和Android,但我在Ubuntu上開發,我的Web應用程序將被放在Ubuntu服務器上。我也做了一個基本的搜索等價的Ruby Gem,但我無法找到任何東西。

有沒有解決使用SDK的方法?或者讓它在Ubuntu上運行的方法?我的應用程序的範圍並不大,而且我只需要創建一個Microsoft Live帳戶並使用公用文件夾,我將始終使用它。我覺得應該可以將我的登錄憑據直接放在REST調用中,而不用擔心真實性令牌,但我找不到任何文檔。

回答

1

這聽起來像是您想要在您的應用的所有客戶端上使用單個OneDrive帳戶來傳輸數據。 OneDrive API是圍繞每個用戶通過應用程序進行身份驗證設計的,然後訪問他們自己的OneDrive來讀取/存儲文件。由於OneDrive使用OAuth 2並僅支持需要Web UI的授權流,因此無法存儲憑據並將其直接傳遞到身份驗證層。 OneDrive要求用戶至少登錄一次以生成身份驗證令牌。

你可以request that your app has offline access到帳戶,通過wl.offline_access範圍。如果你這樣做了,你的應用程序會收到一個刷新令牌,可以用來在將來生成訪問令牌,而不需要用戶再次登錄。這給了你更多的靈活性,但即使刷新令牌在很長一段時間沒有被使用後也會過期。

如果您只需要一個雲位置(不區分每個用戶)來存儲所有應用程序用戶共享的數據,請查看Azure Storage API。在那裏你只需要一個應用程序密鑰,讓你進入存儲位置,用戶登錄就不需要了。當然,存儲的數據通過OneDrive不可用。

0

Interactive Live SDK是演示如何使用Live Connect API的示例代碼。 API使用OAuth進行身份驗證。您需要獲取applicationID才能創建登錄請求。經過身份驗證的用戶還必須通過登錄範圍向請求的應用程序授予權限。然後,您可以製作您的請求幷包含access_token以檢索您之後的信息。

我相信有些庫可以幫助您管理OAuth Gem等rails上的OAuth身份驗證。

+0

這裏使用REST是如何登錄用戶。 http://msdn.microsoft.com/en-us/library/dn659750.aspx –

相關問題