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. [整理]C结构实现位段(bit field)

    #include <stdio.h> #include <string.h> typedef struct A{ int a:5; int b:3; unsigned c:8; ...

  2. 简单的多对一传输ns2仿真

    实验名称:简单的多对一传输仿真 实验目的:1.研究怎么实现多对一传输. 实验步骤: 1.写c++代码并注册报文头. 先说一下多对一传输的方式.最开始,接收端发送控制报文给所有的发送端,告诉他们要发送多 ...

  3. js获取变量的值

    <body> <?php echo "<script> var message = \"$message\";</script> ...

  4. BFS 两个重要性质

    对于进行广度优先搜索的队列中,应该始终满足两个性质:   性质1:若队首为第i层拓展到的节点,则队列中最多只能存在第i层和第i+1层的节点,不可能出现3层节点.   性质2:队列中的元素会严格按照层数 ...

  5. Python练习-猜年龄的LowB游戏

    Alex大神今天让我做一个猜年龄的游戏: 第一个游戏是你只能猜三次:真的很LowB啊~ # 编辑者:闫龙 #猜年龄游戏,3次后程序自动退出! ages = 29; #for循环3次 for i in ...

  6. 《廖雪峰Git教程》学习笔记

    原文链接 一.创建版本库 ①初始化一个Git仓库:git init ②添加文件到Git仓库:1.git add<file> ;  2.git commit 二.时光机穿梭 ①查看工作区状态 ...

  7. 【算法学习】manacher

    manacher太水了. 这篇blog不能称作算法学习,因为根本没有介绍…… 就贴个模板,太简单了…… #include<cstdio> #include<cstring> # ...

  8. 【codeforces】【比赛题解】#869 CF Round #439 (Div.2)

    良心赛,虽然我迟了半小时233333. 比赛链接:#869. 呃,CF的比赛都是有背景的……上次是<哈利波特>,这次是<物语>…… [A]巧妙的替换 题意: Karen发现了石 ...

  9. Python3 item系列

    一.前言 #在python中一切皆对象 ''' 创建了一个dict实例-->dic就是dict的实例对象 我们通过dic['k1']可以得到k1所对应的值 那么我们自定义一个类,可不可以使用对象 ...

  10. 认识我们的太阳系(Solar System)

    一.初识太阳系 如果太阳是一颗篮球,那么我们的地球是什么?? 如果太阳系里最大的行星:木星是一颗足球,那么我们的地球是什么?? 如果我们的地球是一颗排球,那么其他行星是什么?? 由此,我们可以看到,我 ...