Microsoft Graph:连接每个应用都需要的基础数据

  • Michael Stiefel
  • 谢丽

2018 年 6 月 7 日

话题:.NET语言 & 开发架构

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

微软 365 生态系统首席项目经理 Yina Arenas 就如何使用 Microsoft Graph 连接应用数据做了一场演讲。借助 Microsoft Graph,开发人员可以帮助用户专注于需要完成的任务,而不是应用程序的运行。他演讲的重点包括 Build 2018 公告、Microsoft Graph 新手入门、使用什么工具、主要的 API 以及它们的使用要诀和技巧。

为什么 Microsoft Graph 很重要?

一天之中会产生大量的数据,主要有三类:静态的意向数据(如文档或用户资料)、流入的会话数据和作为信号的环境数据(比如你和谁交互)。从环境数据中可以提取出深刻的见解。这一系列的数据会进入 Microsoft Graph。

Microsoft Graph 是访问那些归用户所有、由用户控制的数据的网关。如果你是微软的客户,有微软的业务,或者是微软的消费者,那么你的数据已经在 Microsoft Graph 里了。目前,这些数据来自 Office 365、 Windows 10 和 Enterprise Mobility and Security。这些数据中包含用户的微软身份标识、有关用户当前所做工作的丰富的上下文、提取自信号的深刻见解、内置在 Microsoft Graph 中的通知信息的实时更新。应用程序开发人员可以从 Web 应用、原生应用、网络机器人或后台进程访问 Microsoft Graph 中的这些数据。

随着时间的推移,Microsoft Graph 的使用将把用户的关注点从应用程序转移到他们正在设法完成的具体任务,因此,在提及与 Microsoft Graph 交互的那些应用程序时,微软开始使用“体验”这个词代替应用程序。

开发人员的机会

Microsoft Graph可以通过 REST API 访问,它有一个端点和一个授权密钥。不管数据是来自 Intune、 SharePoint,还是其他的应用程序,都只需要使用同一个 SDK 访问。

开发人员可以借助已经使用 Microsoft Graph 的体验(如 Excel、Microsoft Teams中的机器人和卡片、SharePoint 页面中的 Web Parts 或者Windows Timeline)的插件向其中添加数据。开发人员还可以构建自己的体验,向 Microsoft Graph 添加数据。

对于 ISV,这是一个很大的机会,财富 500 强中 90% 的公司都有数据在 Microsoft Graph 中。Office 365 有 1.35 亿活跃用户。每个月用户使用这些服务认证 4500 亿次。分布在 181 个国家的超过 6500 万设备在使用 Office 365。每个月有超过 10 个会议使用 Office 365 安排。

还有一项服务允许从 Azure 托管访问 Microsoft Graph。

BUILD 大会公告

该服务提供了许多新的数据集和功能。

主要的新数据集是活动 API,使开发人员可以在 Windows Timeline 中加入自己的活动。它提供了一个预约 API,让你可以预先约定,它还提供了 Teams API 的一个修订版本。现在,已经可以在 Outlook 中使用时区、语言、工时和消息规则了。

主要的新功能有面向用户和组的Webhooks、面向 Azure AD 域同步及用户和组的delta 查询。批处理限制增加。要了解更多信息,请查看博客视频和 Microsoft Graph变更日志

新手入门

开发者门户上提供了应用程序和服务的示例。门户上还提供了“快速入门”帮助你开始在.NET 之外的平台上进行开发。该门户还提供了 Microsoft Graph 的文档。Graph Explorer让你可以指定请求,查看基于现有数据的响应。你可以使用样例数据,也可以使用自己的数据。你还可以看到处于 Beta 阶段的请求。如果你使用自己的数据,那么你还可以修改数据。Graph Explorer 的代码是开源的。

Microsoft Graph 开发

目前,Microsoft Graph 提供三项服务的 API:Office 365、Windows 10 和 Enterprise Mobility and Security。

该演讲用几个例子说明了 Microsoft Graph 的用途。

其中,你可以做的最简单的事情是从用户资料中获取一张图片用于客制化用户体验。你发送请求:GEThttps://graph.microsoft.com/v1.0/me/photo/$value HTTP/1.1。响应以 Content-Type 类型返回图片。你使用用户的微软身份标识来提供个性化的体验,而不必使用一个新表单登录每一项服务。

它还提供了可以用于 SharePoint 和个人 OneDrive 的 OneDrive API。你可以枚举和搜索、上传和下载大文件、异步复制或在 OneDrive 之间移动、管理权限和链接、版本、转换成 PDF、防止数据丢失。

Outlook API 可以访问消息和日历。除了管理邮箱之外,你还可以在邮件和附件上做全文搜索,定义工作规范,创建工作流,创建分类。除了管理日历外,你还可以调度有多人参加、多个会议室的会议。你还可以使用自适应卡片来发送可行性消息。自适应卡片使用一种基于 JSON 的模式,可以在 Bot Framework、Cortana、 Outlook、Microsoft Teams、Skype、Windows Timeline 和通知中渲染。

你还可以简化安全警告的管理。

你可以组合 Microsoft Graph 中来自所有数据源的数据构建应用程序。演讲提供了多个如何构建这些应用程序的实例。

Microsoft Graph 中还预置了针对 Dynamics 365、Office 365 和独立应用程序如 Power Bi 的连接器。

查看英文原文Microsoft Graph: Connect to Essential Data Every App Needs

.NET语言 & 开发架构