最近由于工做须要,接触学习使用了Microsoft Graph API。在看完Microsoft的Graph官方文档以后,也作了一些简单的案例,在Stack Overflow上作过一些回答。总体来讲,Microsoft Graph API仍是感受很好用的,只是我的感受在国内使用Microsoft生态的彷佛并很少。php
这篇文章对Graph API作个简单的介绍,并提供一些文档和实用工具,仅供参考。html
若是有兴趣,可阅读陈希章的系列文章微信
1、什么是Microsoft Graph API工具
根据官方文档,Microsoft Graph API是Microsoft Office 365的数据网关,也就是对外经过统一的接口,来调用微软云服务。如SharePoint、One Notes、Email、Calendar、Groups等等服务。学习
你能够经过Graph提供的相应的接口,来实现一些功能,如:查询我的的信息,查询个人邮件,发送一份邮件,查看我最近的日程安排,查看个人组成员、根据一些人的日程安排,安排一场会议、获取个人设备上的文件、获取个人OneNote的信息、对SharePoint作相关操做等等;spa
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等。htm
2、Graph提供的服务:blog
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。
更多服务能够查看官网
3、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上进行提问