1. 程式人生 > >UWP 使用OneDrive雲存儲2.x api(一)【全網首發】

UWP 使用OneDrive雲存儲2.x api(一)【全網首發】

既然 現在 rest 方式 exist 開源 體驗 clas 下載地址

最近開發人臉識別UWP【微識別 / 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流程如下

  1. 註冊應用以獲取應用 ID。
  2. 使用令牌流或代碼流通過指定的作用域讓用戶登錄。就是上面的 SigninAsync函數
  3. 上傳下載操作
  4. 註銷用戶(可選)。

首先先註冊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(一)【全網首發】