2016-04-19 95 views
3

我一直都在通過微軟的網站試圖找到CURRENT文檔來實現用戶連接到他們的Microsoft帳戶的能力,以便他們的信息可以與他們的OneDrive帳戶自動同步。在網站上,他們不斷指引我到僅支持Windows 8.1和Windows Phone 8.1的頁面。對於UWP應用程序絕對沒有特定的文檔。允許用戶登錄到他們的Microsoft帳戶。沒有UWP文檔?

我可以繼續討論我從試圖找到微軟關於他們自己的技術的DATE文檔中得到的頭痛。但是,也許我只是有點慢,那麼你們中的任何一個偉大的人都可以幫我指導我做些什麼來詳細說明我在找什麼?

+1

我不完全確定你在嘗試實現關於用戶信息自動同步的操作 - 你是簡單地嘗試訪問用戶的OneDrive來存儲應用程序數據,還是你正在嘗試做其他事情? 如果你想訪問用戶的OneDrive,你可以在這裏找到信息:dev.onedrive.com 還有ac#SDK,你可以在這裏找到:github.com/onedrive/onedrive-sdk-csharp –

+0

謝謝爲答覆。你有沒有使用App Store中的Wunderlist等應用程序?當您第一次啓動它時,系統會要求您登錄到您的Microsoft帳戶(或其他帳戶),以便您的所有任務和列表都與雲同步。這與我期望的操作類似。我的應用程序使用一個本地的SQLite數據庫,用戶注意到這些數據被保存。我希望他們登錄,以便將這些信息同步到雲中。 OneDrive似乎是從這裏開始的好地方。 – JonathanR33D

+0

噢,它也類似於微軟用OneNote做的事情:你登錄到你的微軟賬戶一次,然後從你的所有筆記中保存到雲端(OneDrive)。 – JonathanR33D

回答

3

我已經做了類似的事情,我使用用戶的OneDrive備份和存儲數據(我的數據以序列化對象的形式存儲在文件中)。我肯定會建議從Nuget獲取OneDrive SDK - 它會讓您的生活更輕鬆不必進行自己的REST調用。從SDK然後你可以這樣做:

var oneDriveClient = OneDriveClientExtensions.GetUniversalClient(new[] { "wl.signin", "onedrive.readwrite" }) 
await oneDriveClient.AuthenticateAsync(); 

這將使用在窗口的單點登錄與OneDrive認證 - 即不提示用戶輸入用戶名和密碼,它只是驗證使用Microsoft帳戶的用戶登錄進入Windows。當您的應用首次執行此操作時,系統將提示用戶確認他們很高興您的應用訪問其OneDrive。如果他們確認,他們將不會再看到彈出窗口,您的應用程序將立即進行身份驗證。

如果你想提示用戶輸入用戶名和密碼 - 或許他們可以使用不同的帳戶(如果他們願意) - 那麼我相信你可以像上面那樣做,但使用OneDriveClientExtentions.GetClientUsingWebAuthenticationBroker()來代替。我從來沒有嘗試過,但我認爲它會顯示您所指的登錄框。

要使用OneDrive SDK,您需要在dev.onedrive.com上使用OneDrive註冊您的應用程序,並且您需要將應用程序與Windows應用商店相關聯。

我建議您通過github.com/OneDrive/onedrive-sdk-csharp上的Getting Started文檔工作 - 這就是我讓代碼啓動並運行的方式。

+0

我無法找到這些方法。也許棄用? – Dpedrinha

1

您可以使用OAuth2 (Live Connect)連接到MS帳戶。使用WebAuthenticationBroker來處理oauth流。

對於OneDrive,具體來說,您可以在dev.onedrive.com上閱讀更多內容。

+0

謝謝,並且我剛剛澄清了我期待在Roger Hartley的回覆中達成的目標。也許你可以回覆呢? – JonathanR33D

+0

您可以將用戶信息存儲在後端,並且當用戶登錄新設備時,同步數據。 – thang2410199

相關問題