Microsoft Graph 简介

面向开发者的 Azure 安全实现

Anushika Agarwal

Cloud Data Engineer

什么是 Microsoft Graph?

  • 统一 API,访问 Microsoft 365 数据

  • 所有服务共用一个端点

Microsoft Graph - 所有服务共用一个端点

面向开发者的 Azure 安全实现

示例:PeopleSphere 与 Microsoft Graph

  • PeopleSphere 使用:

    • Outlook 提交请假
    • Teams 举办 HR 会议
    • OneDrive 存放工资条
  • Graph 将它们连接起来

PeopleSphere 如何使用 Microsoft Graph

面向开发者的 Azure 安全实现

Graph API 调用结构

统一 API:一个端点访问 Microsoft Cloud 服务资源 Microsoft Graph API 请求

面向开发者的 Azure 安全实现

拆解请求

  • 请求组成:

    • 方法GETPOSTPATCH

    • 版本v1.0beta

    • 资源usersgroups

    • 查询参数:$select$filter

    • 请求头:Authorization、Content-Type

Microsoft Graph API 请求

面向开发者的 Azure 安全实现

方法

  • 支持的方法:

    • GET:获取数据

    • POST:创建数据

    • PUT:完整替换数据

    • PATCH:部分更新数据

    • DELETE:删除数据

面向开发者的 Azure 安全实现

版本:v1.0

  • https://graph.microsoft.com/v1.0/groups

  • 稳定 API

  • 面向正式发布(GA)
  • 用于生产应用

版本 - v1.0

面向开发者的 Azure 安全实现

版本:beta

beta

  • https://graph.microsoft.com/beta/groups
  • 预览,实验性功能
  • 不稳定,可能变更
  • 仅供测试,不用于生产

`

版本 - Beta

面向开发者的 Azure 安全实现

资源

  • 您正在访问的具体数据。

  • 示例

    • 用户:访问信息
      • /users/me
    • :操作组
      • /groups
    • 事件:获取日历事件
      • /users/{userId}/events

用户

组

事件

面向开发者的 Azure 安全实现

查询参数

  • 用于筛选、排序或选择特定数据的选项

  • Select

    • 选择字段
    • $select=id,displayName
  • Filter

    • 筛选数据
    • $filter=startswith(displayName, 'John')
  • Top

    • 限制返回数量
    • $top=5

查询参数 - Select

  查询参数 - Filter

  查询参数 - Top

面向开发者的 Azure 安全实现

请求头

在 HTTP 请求响应中携带元数据

两类请求头:标准与特定于 API

请求头

  • 标准:通用于所有请求
    • Authorization:Bearer {access_token}
    • Content-Type:application/json
  • 特定于 API:因 API 而异
    • Retry-After:30
    • Location:https://graph.microsoft.com/operationStatus
面向开发者的 Azure 安全实现

Passons à la pratique !

面向开发者的 Azure 安全实现

Preparing Video For Download...