標籤:microsoft 如何使用 star 碼流 基於 曆史 gis logs 體驗
最近開發Face ServiceUWP【微識別 / WeRecognition】用到了OneDrive開發,下面把來龍去脈講一下。
https://www.microsoft.com/store/productId/9PDSNS7X9ST9,商店火爆熱銷中。。。。。。
由於UWP是跨平台的,一套代碼可以運行在所有Windows 10裝置上,比如手機、電腦、全息、Hub、Xbox等。
那麼問題就來了,既然App可以跨屏台運行,那麼為了給使用者打造一個完全無縫銜接的最佳體驗,UWP開發人員最好也要實現App設定和資料的跨平台。
對於一般的開發人員來說,購買一個雲資料庫需要一定的成本,而且訪問速度也會有差異;買一個或者搭建一個自己的伺服器成本更大。
何不用現成的?
要實現資料跨平台使用,有兩個方法:
1、使用數據漫遊 Roaming
2、使用OneDrive儲存
數據漫遊Roaming的優缺點
優點:簡單方便易用,可以漫遊設定和檔案
ApplicationDataContainer roaming = Windows.Storage.ApplicationData.Current.RoamingSettings;roaming.Values["key"] = "漫遊的設定";
// 漫遊檔案夾var roamingFolder = Windows.Storage.ApplicationData.Current.RoamingFolder;// 在漫遊檔案夾內建立一個檔案,var file = await roamingFolder.CreateFileAsync(filename, CreationCollisionOption.OpenIfExists);// 寫入內容awaitFileIO.WriteTextAsync(file, "需要同步的內容");
如果你的資料很小,比如一些基本的設定,還有使用者名稱密碼之類的小檔案,用這個最方便。
但是有大小限制【有的說是8KB,也有說100KB的】參考 http://www.cnblogs.com/ms-uap/p/4184328.html 大神講的很清楚了
OneDrive儲存優缺點
優點:可以儲存大檔案了啦,現在只要註冊就送5G,還是15G來著,忘記了。反正我有30G的大小。教育版有1T呢。。。。。。
5G夠你用的了,如果你的資料檔案大於1G以上,最好還是別做漫遊了,直接copy過去吧。天朝的寬頻上傳都是小水管。
缺點:沒資料!沒資料!!沒資料!!!
還有,不要去看官方文檔,不要去看官方文檔,不要去看官方文檔
https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/getting-started/graph-oauth
你說我在說瞎話,網上一搜明明有一些的,gayhub也有開源的。請注意,這些都是基於1.x的api開發的,而微軟已經不推薦這種方式使用了。
所以最新的2.x版本的api,你找不到任何官方sample或者民間的野sample!!!
好歹你官方的2.x也出來一兩年了,竟然沒有官方sample,不得不說微軟的【辦事效率非常】了。gayhub之前貌似有,但是被官方移除了,只有一個記錄說明。不曉得他們呢為什麼移除,大概是不想讓大家使用吧。
使用OneDrive Api 2.x流程如下
- 註冊應用以擷取應用 ID。
- 使用令牌流或代碼流通過指定的範圍讓使用者登入。就是上面的 SigninAsync函數
- 上傳下載操作
- 登出使用者(可選)。
首先先註冊App,不是在商店註冊,而是onedrive授權註冊https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/getting-started/app-registration
所以當我研究了一天的1.x版本api後,發現,https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/getting-started/msa-oauth,我的內心是拒絕的,甚至感覺日了一天??。
不過你要非死不可的使用1.x,也可以用啦。又沒有人把機關槍架在你腦袋上。
不過微軟說了,你需要Microsoft Graph來進行身分識別驗證和一系列的操作。
https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/getting-started/graph-oauth
但是看了官方的文檔和一些代碼後,各種嘗試,App仍然授權失敗。日了狗感覺。
這一回到這裡結束,關於新版如何使用,且聽下回分解。
UWP 使用OneDrive雲端儲存2.x api(一)【全網首發】