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. jdk源码

    Java 8 之默认方法(Default Methods) public interface Player { String getName(); default boolean isMale() { ...

  2. SpringCloud微服务简介(一)

    Spring Cloud简单认识 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以独立地编译及部署,并通过 ...

  3. mysql sql优化实例1(force index使用)

    今天和运维同学一块查找mysql慢查询日志,发现了如下一条sql: SELECT sum(`android` + ios) total,pictureid,title,add_time FROM `j ...

  4. 【bzoj4942】[Noi2017]整数 压位+线段树

    题目描述 P 博士将他的计算任务抽象为对一个整数的操作. 具体来说,有一个整数 $x$ ,一开始为0. 接下来有 $n$ 个操作,每个操作都是以下两种类型中的一种: 1 a b :将 $x$ 加上整数 ...

  5. 20155325 2016-2017-2 《Java程序设计》第5周学习总结

    教材学习内容总结 Java中把正常流程放try块中,错误(异常)处理放catch块中. Error及其子类写程序不用处理,最多留个日志.因为这种错误Java应用程序本身是无力回复的. 在使用throw ...

  6. 数位DP入门(A - 不要62 HDU - 2089 &&B - Bomb HDU - 3555 )

    题目链接:https://cn.vjudge.net/contest/278036#problem/A 具体思路:对于给定的数,我们按照位数进行运算,枚举每一位上可能的数,在枚举的时候需要注意几个条件 ...

  7. [转]ROS(Robot Operating System)常用环境变量介绍

    本文简单介绍ROS系统中常用的环境变量用途及设置方式.ROS系统环境中除了必须配置的环境变量以外,其他的也是十分有用,通过修改变量路径,可以设置ROS系统中log文件存放路径,单元测试结果存放路径等. ...

  8. Spring Boot1.5X升级到2.0

    配置文件 大量的Servlet专属的server.* properties被移到了server.servlet下 拦截器 public class MyWebMvcConfigurerAdapter ...

  9. JDK1.8源码LinkedList

    引用博文链接 : https://www.cnblogs.com/leskang/p/6029780.html LinkedList继承了 AbstractSequentialList抽象类,而不是像 ...

  10. aarch64_l1

    L-function-1.23-18.fc26.aarch64.rpm 2017-02-14 08:01 139K fedora Mirroring Project L-function-devel- ...