Microsoft Graph API -----起题 Graph API
最近因为工作需要,接触学习使用了Microsoft Graph API。在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答。整体来说,Microsoft Graph API还是感觉很好用的,只是个人感觉在国内使用Microsoft生态的似乎并不多。
这篇文章对Graph API做个简单的介绍,并提供一些文档和实用工具,仅供参考。
如果有兴趣,可阅读陈希章的系列文章
一、什么是Microsoft Graph API
根据官方文档,Microsoft Graph API是Microsoft Office 365的数据网关,也就是对外通过统一的接口,来调用微软云服务。如SharePoint、One Notes、Email、Calendar、Groups等等服务。
你可以通过Graph提供的相应的接口,来实现一些功能,如:查询个人的信息,查询我的邮件,发送一份邮件,查看我最近的日程安排,查看我的组成员、根据一些人的日程安排,安排一场会议、获取我的设备上的文件、获取我的OneNote的信息、对SharePoint做相关操作等等;
Graph 是一套Restful的接口,他的所有接口都是通过标准的http方法(GET、POST、PUT、DELETE)可以访问到相关的数据,还可以通过添加相关的参数,对数据进行筛选、排序等操作。返回的数据以JSON的格式进行传输,这种特性决定了Microsoft Graph可以跨平台开发。任何能发送Http请求和解析JSON数据的开发语言都能调用Graph API。同时微软也提供了多种Simple Code和SDK。如,Angular(JS版本)、.Net MVC、IOS、php、Python、Ruby、Node.js等。
二、Graph提供的服务:
1.用户和组相关的服务
用户:就是使用Microsoft 365云服务的用户的一部分。是Microsoft Graph的核心,Microsoft Graph服务都是围绕着用户提供服务的。
组:就是将几个用户放在一个类别中,我的理解就是和QQ群、微信群相类似
身份认证和访问管理:
采用Azure AD作为身份验证的提供方,所有调用服务的请求,都必须是经过合法授权的。
身份认证的一共有两套,一套是所谓的个人账号,如常见的hotmail.com outlook.com这样的账号,一种是Work or School账号,因此,身份认证AzureAD1.0仅支持work or School 账户,Azure AD v2.0可同时支持work or school 和Microsoft账户。
2. 工作相关的服务
日历,文件、邮件、OneNote、个人联系人、Workbook and charts。
更多服务可以查看官网
三、Graph常用的工具和SimpleCode
1.要使用Graph进行开发,需要做一下几个步骤
1) 注册一个应用程序
作为开发者,可以在Join the Office 365 developer program today!会有一年的免费订阅,详细注册流程可以参考:
https://docs.microsoft.com/en-us/office/developer-program/office-365-developer-program
作为正式环境,需要在Azure上注册一个应用程序
2)Graph提供了一些简单的实例,可以使用这些示例快速创建一个项目。
3)修改相关参数,如ClientID,Secret等
4)运行程序
2.快速体验GraphAPI,可以通过Graph Explore,默认打开后,微软提供了一个默认的账户来体验Graph API
3.如果开发中有问题,可以在Stack Overflow上进行提问
Microsoft Graph API -----起题 Graph API的更多相关文章
- facebook api之Business Manager API
Business-scoped Users - The new user is tied to a particular business and has permissions scoped to ...
- API Monitor简介(API监控工具)
API Monitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用. 它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题. 64位支持 API ...
- Web API 2 入门——Web API 2(C#)入门(谷歌翻译)
ASP.NET Web API 2(C#)入门 在这篇文章中 本教程中使用的软件版本 创建一个Web API项目 添加模型 添加控制器 使用Javascript和jQuery调用Web API 运行应 ...
- Windows Composition API 指南 - 认识 Composition API
微软在 Windows 10中 面向通用 Windows 应用 (Universal Windows Apps, UWA) 新引入了一套用于用户界面合成的 API:Composition API.Co ...
- API 设计 POSIX File API
小结: 1. https://mp.weixin.qq.com/s/qWrSyzJ54YEw8sLCxAEKlA API 设计最佳实践的思考 谷朴 阿里技术 昨天 阿里妹导读:API 是模块或者子 ...
- Request Entity Too Large for Self Hosted ASP.Net Web API在Selfhost的api后台怎么解决Request Entity Too Large问题
Request Entity Too Large for Self Hosted ASP.Net Web API在Selfhost的api后台怎么解决Request Entity Too Large问 ...
- 使用 WSO2 API Manager 管理 Rest API
WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...
- Zookeeper C API 指南四(C API 概览)(转)
上一节<Zookeeper C API 指南三(回调函数)>重点讲了 Zookeeper C API 中各种回调函数的原型,本节将切入正题,正式讲解 Zookeeper C API.相信大 ...
- Atitit.一个cms有多少少扩展点,多少api wordpress cms有多少api。。扩展点
Atitit.一个cms有多少少扩展点,多少api wordpress cms有多少api..扩展点 1. Api分类 WordPress APIs1 1.1. 1 函数分类2 1.2. 函数api ...
随机推荐
- docker 笔记
批量删除Docker中已经停止的容器[转] 方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...
- Linux系统中硬链接和软链接(符号链接)的区别
首先是创建链接的命令 ln file link //创建硬链接 ln -s item link //创建软链接 区别 硬链接 硬链接是一开始Unix创造链接的方式,而软连接就更现代一点.创建硬链接的时 ...
- [Windows Doc]微软官方文档
desktop: https://docs.microsoft.com/en-us/windows/desktop/index server:https://docs.microsoft.com/en ...
- Intel格式与Motorola格式的区别
Intel低字节在前 Motorola高字节在前 在进行CAN总线通信设计或者测试过程中,经常看到CAN总线信号的编码格式有两种定义:Intel格式与Motorola格式.究竟两种编码格式有 ...
- MySQ数据备份
MySQL备份概述 问题:备份和冗余有什么区别? 备份:能够防止由于机械故障以及人为操作带来的数据丢失,例如将数据库文件保存在了其它地方. 冗余:数据有多份冗余,但不等于备份,只能防止机械故障带来的数 ...
- “三次握手,四次挥手”你真的懂吗?TCP
“三次握手,四次挥手”你真的懂吗? mp.weixin.qq.com 来源:码农桃花源 解读:“拼多多”被薅的问题出在哪儿?损失将如何买单? 之前有推过一篇不错的干货<TCP之三次握手四次挥手 ...
- 微信小程序之:wepy(二)
一大堆实例:人家的博客园 代码规范: 1.尽量使用驼峰命名,避免使用$开头,框架内建属性都已$开头,可以使用this直接调用. 2.入口文件.页面.组件后缀都为.wpy. 3.使用ES6语法开发. 4 ...
- 【洛谷P1090 合并果子】
题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆.多多决定把所有的果子合成一堆. 每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和.可 ...
- Django中related_name作用
相当于我们使用related代替了在通过一个对象查询出多个对象集合时,使用表名_set来获取 我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对多的类型. class Person(mode ...
- Educational Codeforces Round 63 (Rated for Div. 2)
传送门 A. Reverse a Substring 题意: 给你一串 s,让你判断能否通过反转区间[l,r]的元素,使得反转后的串的字典序小于 s: 如果能,输出 "YES",并 ...