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

2018 年 6 月 07 日

看新闻很累?看技术新闻更累?试试下载 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 的用途。

其中,你可以做的最简单的事情是从用户资料中获取一张图片用于客制化用户体验。你发送请求:GET https://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

2018 年 6 月 07 日 15:081337
用户头像

发布了 1008 篇内容, 共 307.0 次阅读, 收获喜欢 272 次。

关注

评论

发布
暂无评论
发现更多内容

量化交易系统开发、自动对冲策略搭建

薇電13242772558

区块链

熟悉又陌生的 k8s 字段:SecurityContext

郭旭东

Kubernetes Kubernetes源码

华为云专家私房课:视频传输技术选型的三大法宝

华为云开发者社区

音视频 视频 传输

如何降低young gc时间

AI乔治

Java 架构 GC GC算法

Github标星35K+超火的Spring Boot实战项目,附超全教程文档

Java架构之路

Java 程序员 架构 面试 编程语言

【原创】Spring Boot 过滤器、监听器、拦截器的使用

田维常

springboot

【原创】Spring Boot终极篇《下》

田维常

springboot

社会正在惩罚不读书的人!这份程序员进阶书单,值得收藏~

田维常

程序员 电子书

轻松使用TensorFlow进行数据增强

计算机与AI

tensorflow 学习 数据增强

如何快速构建Spring Boot基础项目?

田维常

spring Boot Starter

Spring Boot 集成 Druid 监控数据源

田维常

springboot

快速掌握并发编程---关于乐观锁、悲观锁、可重入锁

田维常

并发编程

快速掌握并发编程---ArrayBlockingQueue 底层原理和实战 java

田维常

并发编程 LinkedBlockingQueue

【原创】Spring Boot集成Mybatis的玩法

田维常

springboot

Spring Boot 如何快速实现定时任务

田维常

springboot

送你4句口诀 云存储选型不再犯难

京东智联云开发者

云存储

华为云FusionInsight MRS:助力企业构建“一企一湖,一城一湖”

华为云开发者社区

数据库 云原生 数据

浅析一个较完整的SpringBoot项目

田维常

sping

【原创】SpringBoot快速整合Thymeleaf模板引擎

田维常

springboot

【原创】Spring Boot 集成Spring Data JPA的玩法

田维常

springboot

【原创】Spring Boot终极篇《上》

田维常

springboot

运筹帷幄之后,决胜千里之外!GitHub上标星75k+的《Java面试突击手册》助你拿到满意的offer。

Java架构之路

Java 程序员 架构 面试 编程语言

4年Java经验,去面试居然10分钟就结束了,现在面试为什么这么难?

Java架构之路

Java 程序员 架构 面试 编程语言

【原创】SpringBoot 这几种配置文件方式,你都用过吗?

田维常

springboot

【原创】Spring Boot集成Redis的玩法

田维常

spring Boot Starter

【原创】Spring Boot一口气说自动装配与案例

田维常

springboot

电子劳动合同来了 足不出户也能签约

CECBC区块链专委会

社会保险 电子合同

偷师Kubernetes源码,学会怎么用Go实现调度队列

网管

go Kubernetes 并发编程 并发控制

关于DevOps的七大误解,99%的人都曾中过招!

华为云开发者社区

DevOps 敏捷开发 测试

【原创】Spring Boot 如何手写starter

田维常

springboot

面试官:Java装箱与拆箱的区别?

田维常

springboot

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