最近开发人脸识别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,我的内心是拒绝的,甚至感觉日了一天

UWP 使用OneDrive云存储2.x api(一)【全网首发】相关推荐

  1. UWP 使用OneDrive云存储2.x api(二)【全网首发】

    上一篇提到为了给用户打造一个完全无缝衔接的最佳体验,UWP开发者最好也要实现App设置和数据的跨平台 分析了数据漫游和OneDrive的优缺点,结合自己App实际需要,我选择了OneDrive. 毕竟 ...

  2. 希捷BACKUP PLUS提供200G ONEDRIVE云存储

    希捷科技公司日前宣布其备受赞誉的Backup Plus外置存储产品将提供一项高价值服务--200GB的OneDrive云存储服务,同时增加了Lyve照片和视频应用管理程序.Seagate® Backu ...

  3. Zotero使用OneDrive云存储附件(OneDrive+Zotero)

    背景 之前Zotero使用的是坚果云进行的附件云存储,但是坚果云有上传和下载流量限制,云存储空间只有5g,并且付费价格比较高,所以决定改用OneDrive进行云存储. 事先准备 OneDrive wi ...

  4. 【S操作】综合利用腾讯文档、OneDrive、印象笔记evernote、有道云笔记等各种云工具,轻松实现数据云存储及多重备份...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 前言&概述  今天和大家分享一下我的数据存储备份方案:免费.轻松实现数据多重备 ...

  5. 去中心化云存储聚合器ColdStack S3 API开启私人Beta版测试

    去中心化云存储聚合器ColdStack宣布S3 API将开启私人Beta版测试,具体时间为3月29日-5月1日.在此测试期间,上传的文件不能超过10Tb.另外,ColdStack表示即将宣布代币发售消 ...

  6. 什么是云存储 API

    云存储API 是一种应用程序接口,它将基于本地的应用程序连接到基于云的存储系统,以便用户可以向其发送数据并访问和处理存储在其中的数据.对于应用程序,云存储系统只是另一个目标设备,如磁带或基于磁盘的存储 ...

  7. dropbox免费容量_2020年免费云存储指南:Google Drive VS Dropbox VS iCloud VS OneDrive VS Amazon

    dropbox免费容量 Cloud storage allows you to store your data on someone else's hard-drive, in data-center ...

  8. 新浪云存储 php,新浪云存储SCS | API文档

    概述 新浪云存储服务主要提供以下三类API: Service操作 Bucket操作 Object操作 与此同时,为提高用户使用的安全性,新浪云存储服务还通过使用签名来验证请求者的身份. 如需了解签名算 ...

  9. NetApp SolidFire 云存储——简化的大规模 API 驱动型存储

    SolidFire 云存储--简化的大规模 API 驱动型存储 利用 Element API 控制云基础架构 打造按需服务,利用 Element 软件 API 在内部环境中提供公有云体验. 随着越来越 ...

最新文章

  1. 如果我有jQuery背景,那么“ AngularJS中的思考”吗? [关闭]
  2. spring 源码阅读入门
  3. CDQ 分治算法模板
  4. powerdns mysql_安装PowerDNS(使用MySQL后端)和Poweradmin在Debian Lenny
  5. python dropna失败_使用Python部署机器学习模型的10个实践经验
  6. java基础将字符串进行反转
  7. [转载] 使用selenium_一日一技:使用Selenium的浏览器自动化
  8. 减法运算的借位标志cf_数学|有理数运算法则及题型汇总
  9. matlab 子函数句柄,matlab-函数句柄程序.ppt
  10. python 拼音 四线格_Python 中拼音库 PyPinyin 的用法
  11. 测试 jdbc 中连接关闭的时机
  12. Android-Universal-Image-Loader-master(图片浏览+缓存)
  13. CAM350软件使用说明----PADS相关
  14. Android面试心得,已拿到字节跳动,京东,android应用开发基础学堂在线答案
  15. 常用安防软件,Onvif,RSTP客户端 , 小工具
  16. html5动态创建canvas,[canvas]通过动态生成像素点做绚丽效果
  17. 网页第三方追踪原理——如何通过1像素的图片追踪
  18. puk码怎么查询_手机SIM卡PUK如何查询?怎么找PUK码?
  19. 电子计算机设置时间,电脑设置年月日_电脑怎么设置年月日
  20. signature=f89e259b8a982ede42b69434f81f5bc3,利用 cDNA-AFLP技术鉴定马铃薯晚疫病菌小种特异无毒基因候选表达序列...

热门文章

  1. 【论文阅读】Deep Adversarial Subspace Clustering
  2. 原 hibernate与mysql字段类型对应关系
  3. 安装包卸载时如何删除安装时写在系统环境变量中的内容
  4. [Leetcode][第415题][JAVA][字符串相加][双指针]
  5. [Leedcode][JAVA][第1014题][最佳观光组合][数组][暴力优化]
  6. 【模板】在build中配置resources来防止我们资源导出失败的问题
  7. matlab 写excel 慢_我在12w+的Python库中,发现了让Excel快到起飞的秘密......
  8. c语言实现socket转json,C++解析JSON进行网络传输--一个通过JSON方式的socket传输
  9. 隐藏该监视器无法显示模式_【春星开讲 | 9137】达芬奇4K调色监看的好伙伴——明基PD2720U专业显示器...
  10. anaconda对应python版本_Python基础——如何查看python版本、如何查看多个python版本