你好,游客 登录
背景:
阅读新闻

UWP 使用OneDrive云存储2.x api(一)

[日期:2017-12-13] 来源:cnblogs  作者: [字体: ]

  最近开发人脸识别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流程如下

  注册应用以获取应用 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仍然授权失败。日了狗感觉。

 

  这一回到这里结束,关于新版如何使用,且听下回分解。

收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论