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 ...
随机推荐
- Spring MVC 使用介绍(十五)数据验证 (二)依赖注入与方法级别验证
一.概述 JSR-349 (Bean Validation 1.1)对数据验证进一步进行的规范,主要内容如下: 1.依赖注入验证 2.方法级别验证 二.依赖注入验证 spring提供BeanValid ...
- Go语言中的make和new
相同点: make和new都是用来创建分配类型内存的. 不同点: 先看下面的代码 package main import "fmt" func main(){ var i *int ...
- 小白月赛13 小A的路径 (矩阵快速幂求距离为k的路径数)
链接:https://ac.nowcoder.com/acm/contest/549/E来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...
- Neovim中NERDTree等多处cursorline不高亮
标题表达的不是很清楚,看下图把 解决方法 添加下面内容到init.vim " 针对NERDTree " https://github.com/scrooloose/nerdtree ...
- 【一本通1248:Dungeon Master&&洛谷UVA532 Dungeon Master】
若不会广搜转向[广搜] [题目描述] 这题是一个三维的迷宫题目,其中用‘.’表示空地,‘#’表示障碍物,‘S’表示起点,‘E’表示终点,求从起点到终点的最小移动次数,解法和二维的类似,只是在行动时除了 ...
- [Luogu 4316] 绿豆蛙的归宿
题目链接 一道基础的 \(DAG\) 上期望 \(DP\). 给出一个有向无环图,起点为 \(1\) 终点为 \(N\),每条边都有一个长度,并且从起点出发能够到达所有的点,所有的点也都能够到达终点. ...
- python11 函数的定义,调用,分类
## 复习 #一.什么是函数:具体特定功能的代码块 - 特定功能代码块作为一个整体,并给该整体命名,就是函数 # 二.函数的优点:# 1.减少代码的冗余# 2.结构清晰,可读性强# 3.具有复用性,开 ...
- airflow1.10时区修改
https://blog.csdn.net/crazy__hope/article/details/83688986
- jenkins 自动化部署执行shell
# -*- coding:utf-8 _*-""" @author:Administrator @file: new_app_publish.py @time: 2018 ...
- request redirection
# encoding:utf-8 import reimport jsonimport randomfrom esdapi.config import BASE_URLfrom requests.se ...