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


最近開發人臉識別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仍然授權失敗。日了狗感覺。

 

 

 這一回到這里結束,關於新版如何使用,且聽下回分解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM