OneDrive API提供了对存储在OneDrive上文件的访问能力,大多数API都遵循REST模式,少部分的API可以通过简单的函数来调用

在使用OneDrive API之前要先了解两个简单的概念

REST( Representational State Transfer):表征性状态传输,是一种概念,或者说一种设计风格

Oauth(开放授权):是一开放标准,允许用户提供一个令牌而不是用户名和密码来访问他们存放在特定服务者(如OneDrive,百度云盘等)上的数据,每一个令牌授权一个特定的网站在特定的时间段访问特定的资源。OAuth允许用户授权第三方(比如你开发的APP)访问他们存储在另外的服务提供者上的信息。

使用OneDrive的步骤

一、验证你的应用程序

OneDrive使用OAuth2.0验证,通过HTTP头:Authorization: bearer {token}提供一个访问令牌,你会得到一个存储你的应用程序和用户的一组特定权限的令牌

二、调用API

当应用程序获得验证后,你就可以调用OneDrive API来进行一些操作

OneDrive URI Root:https://api.onedrive.com/v1.0

在调用API之前,你需要了解一些关于OneDrive资源模型(Resource Model)的概念,OneDrive中有两种资源类型:

Drive:顶级对象

Item:文件、文件夹等

想必你已看出这种资源模型和我们计算机上的类似,Drive代表某个驱动器,而Item表示驱动器内的文件或文件夹,一个用户至少有一个Drive——默认的Drive

Root Resource

路径

描述

/drive

用户默认的驱动器

/drives

向经过授权验证的用户提供的驱动器列表

/drive/{drive-id}

通过id访问特定的驱动器

/drive/{drive-id}/root/children

特定驱动器中根目录下的item列表

/drive/items/{item-id}

通过id访问特定的item

/drive/root:/path/to/file

通过path访问根目录下的item

/drive/items/{item-id}:/path/to/file

通过相对于 特定id的item 的路径来访问文件

/drive/root:/path/to/file:/children

相对于根目录的path下的item列表

/drive/items/{item-id}:/path/to/file:/children

相对于 特定id的item 的路径下的item列表

注意上面有两种用法,一种用id,另一种是用path,更多路径用法请参照OneDrive API文档:https://dev.onedrive.com/README.htm

以上就是一些基本概念和使用OneDrive API的两个基本步骤,后面将会详细的说明这两个步骤的具体操作

说明:本文及后续更新的文章是在对OneDrive官方文档的学习而来,内容可能相对较浅,写的目的也只是为了大家相互交流,如有什么错误还望指正

OneDrive开发入门的更多相关文章

  1. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  2. java WEB开发入门

    WEB开发入门 1 进入web JAVASE:标准- standard   JAVA桌面程序 GUI    SOCKET JAVAEE:企业-浏览器控制  web 2 软件结构 C/S :client ...

  3. [译]:Xamarin.Android开发入门——Hello,Android Multiscreen深入理解

    原文链接:Hello, Android Multiscreen_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android Multiscreen深入理解. 本 ...

  4. [译]:Xamarin.Android开发入门——Hello,Android深入理解

    返回索引目录 原文链接:Hello, Android_DeepDive. 译文链接:Xamarin.Android开发入门--Hello,Android深入理解 本部分介绍利用Xamarin开发And ...

  5. [译]:Xamarin.Android开发入门——Hello,Android快速上手

    返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...

  6. VR原理讲解及开发入门

    本文是作者obuil根据多年心得专门为想要入门的VR开发者所写,由52VR网站提供支持.   1. VR沉浸感和交互作用产生的原理:   在之前,我们观看一个虚拟的创造内容是通过平面显示器的,52VR ...

  7. Eclipse_luna_J2EE_For_JS+tomcat8.0环境搭建、配置、开发入门

    一.所有需要的软件.插件等下载地址 J2SE的官方下载路径:http://www.oracle.com/technetwork/java/javase/downloads/index.html Ecl ...

  8. OWIN的理解和实践(三) –Middleware开发入门

    上篇我们谈了Host和Server的建立,但Host和Server无法产出任何有实际意义的内容,真正的内容来自于加载于Server的Middleware,本篇我们就着重介绍下Middleware的开发 ...

  9. [Cordova] Plugin开发入门

    [Cordova] Plugin开发入门 Overview Cordova的设计概念,是在APP上透过Web控件来呈现Web页面,让Web开发人员可以操作熟悉的语言.工具来开发APP.使用Web页面来 ...

随机推荐

  1. SharePoint 项目的死法(二)

    说实话, 做SharePoint项目或者任何信息化项目并不是个容易的事情, 但成功的IT项目对于一个企业来说也许意味着很多, 从我的观察来看, 大部分的成功的信息化项目给企业所带来的回报都远远超过其所 ...

  2. JavaScript 运行机制之执行顺序详解

    JavaScript是一种描述型脚本语言,它不同于 Java 或 C# 等编译性语言,它不需要进行编译成中间语言,而是由浏览器进行动态地解析与执行.如果你不能理解 JavaScript 语言的运行机制 ...

  3. Codeforces刷题计划

    Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1 ...

  4. JS 数组 foreach 和 map

    本文地址:http://www.cnblogs.com/veinyin/p/8794677.html  foreach 和 map 都是数组的迭代方法,对数组的每一项执行给定函数,不会改变原数组. 两 ...

  5. 在EF6.0中打印数据库操作日志

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. addclass,removeclass

    定义和用法 addClass() 方法向被选元素添加一个或多个类. 该方法不会移除已存在的 class 属性,仅仅添加一个或多个 class 属性. 提示:如需添加多个类,请使用空格分隔类名. rem ...

  7. python 进程 线程 协程

    并发与并行:并行是指两个或者多个事件在同一时刻发生:而并发是指两个或多个事件在同一时间间隔内发生.在单核CPU下的多线程其实都只是并发,不是并行. 进程是系统资源分配的最小单位,进程的出现是为了更好的 ...

  8. vue_router 动态路由

    配置子路由: 路由的视图都需要使用view-router 子路由也可以嵌套路由使用: children来做嵌套如上图 使用location.页面name就可以做页面跳转 mounted:挂载,延迟跳转 ...

  9. TCP报文的最大负载和报文的最小长度

    TCP报文的最大负载和报文的最小长度 MTU:最大传输单元,以太网的MTU为1500Bytes MSS:最大分解大小,为每次TCP数据包每次传输的最大数据的分段大小,由发送端通知接收端,发送大于MTU ...

  10. Dream------scala--函数定义、流程控制、异常处理

    Dream------scala--函数定义.流程控制.异常处理 一.函数的定义 1.新建工程