Microsoft Graph 概述】的更多相关文章

这个系列文章 已经进行到了实质的阶段,继上一篇介绍了如何搭建Office 365开发环境之后,我会通过这篇文章给大家介绍一个非常重要的概念:Microsoft Graph.它之所以重要,首先是因为它是未来Office 365对外的统一接口(甚至可以说是未来微软的云服务的对外统一接口),其次,Microsoft Graph对于不少Office 365开发人员来说是一个需要先跨过的门槛,这个关过去了,后续进行针对性的开发(Office Add-in,SharePoint Add-in,Office…
作者:陈希章 发表于 2017年3月22日 上一篇文章我介绍了如何利用官方提供的Graph 浏览器快速体验Microsoft Graph强大功能,这是极好的起点.官方的Graph浏览器力图用最简单的方式帮助您使用Microsoft Graph,为此也隐藏了很多细节.为了帮助大家更好地理解Microsoft Graph的工作原理,例如要使用Microsoft Graph需要进行应用改程序注册,OAuth的过程以及Token传递的方式等,我专门再写一篇,介绍如何通过其他第三方工具来体验Microso…
Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性中的海量数据. 利用 Microsoft Graph 中的大量数据针对与数百万名用户交互的组织和客户构建应用. Microsoft Graph 公开了 REST API,包含了Azure上的所有资源操作.关于它目前能操作的资源可以参考官方说明:https://docs.microsoft.com/e…
问题描述 在先前的一篇博文中,介绍了如何使用Microsoft Graph API来创建Azure AD用户(博文参考:[Azure Developer]使用Microsoft Graph API 如何批量创建用户,用户属性中需要包含自定义字段(如:Store_code,Store_name等),但是在调用创建AAD用户之前,因为请求的Header中必须包含Authorization:Bearer {token}值. 在中国区获取Graph API的Authorization可以参考调用专用的A…
作者:陈希章 发表于 2017年6月25日 谈一谈.NET 的跨平台 终于要写到这一篇了.跨平台的支持可以说是 Office 365 平台在设计伊始就考虑的目标.我在前面的文章已经提到过了,Microsoft Graph 服务针对一些主流的开源平台(主要用来做跨平台应用)都有支持,例如 python,nodejs 等.他们真的非常好用,与此同时我虽然对他们也有一定的了解,但要跟我最熟悉的 Microsoft .NET 来比较的话,我自然还是更喜欢后者了. 所以,一直在等待合适的时间,要来写 Mi…
作者:陈希章 发表于 2017年5月31日 什么是无人值守程序(服务) 我在此前用了几篇文章分别介绍了在桌面应用程序(控制台),Web应用程序(ASP.NET MVC),以及PowerSehll脚本中如何访问Microsoft Graph,今天这一篇要继续讲一个场景:在无人值守程序中访问Microsoft Graph.那么什么是无人值守程序呢?通常我们将此类程序定义为不需要(不允许)用户进行干预,一般用来在后台自动化运行的程序.在英文文档中,我们将其称之为daemon application,广…
作者:陈希章 重写于 2017年5月24日 前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际上还真不是那么简单,至少我是不满意的,加上这一两周都比较忙,所以这一篇就一直搁置.直到上周的一个契机,让我看到了一个全新的方式,而且可以极大地改变我们在Web应用程序中集成Microsoft Graph,所以抓紧做了实践,写出来给大家参考. 在今年3月份Visual Studio 2017进行发布的…
作者:陈希章 发表于2017年4月23日 我旗帜鲜明地表态,我很喜欢PowerShell,相比较于此前的Cmd Shell,它有一些重大的创新,例如基于.NET的类型系统,以及管道.模块的概念等等.那么,PowerShell是否可以愉快地跟Microsoft Graph搭配工作,为我们的IT管理员或者开发人员提供一种利用脚本就可以对Office 365进行运维和集成呢? PowerShell一直可以管理Office 365,但那是通过比较传统的方式,就是Office 365提供了一些特定的Cmd…
作者:陈希章 发表于 2017年3月22日 桌面应用程序,在我这篇文章的语境中,我是特指在Windows桌面上面直接运行的.NET应用程序,包括Console Application,WPF Application,Windows Forms Application, UWP Application,并且限于篇幅,我只会以Console Application作为演示,因为无论表现形式如何不同,它们从本质上是类似的. 本文所附带示例代码可以通过https://github.com/chenxiz…
作者:陈希章 发表于 2017年7月12日 引子 这是一篇计划外的文章.我们都知道要进行Microsoft Graph的开发的话,需要进行应用程序注册.这个在此前我已经有专门的文章写过了.但这里存在一个小的问题:国内版的Office 365在申请好之后,并没有像国际版那样,有一个对应的可以注册和管理应用程序的Azure的界面.说起来有点绕,国际版的Office 365管理员可以直接登陆到portal.azure.com进行应用程序注册和管理,但国内版却不行.这个问题目前来说还是一个know is…
作者:陈希章 发表于 2017年3月18日 上一篇介绍了Microsoft Graph的基本概念,接下来我们快速体验一下Microsoft Graph到底能做什么? 为了帮助开发人员直观和快速体验Microsoft Graph的魅力,官方提供了一个专门的工具,叫做Graph 浏览器(Graph Explorer).同时,由于国际版和世纪互联版本的Graph接口相关地址有所不同,所以针对这两个不同的版本,分别有对应的Graph浏览器. 国际版Graph 浏览器: https://developer…
作者:陈希章 发表于 2018年1月2日 前言 Microsoft Graph是一张拥有巨大价值的网络,它定义了包括Office 365在内的资源的实体及其关系,它的价值体现在,随着用户积累的数据越来越多,经过授权的应用程序可以在这些数据的基础上得到很多有价值的信息,并且帮助用户更好地完成工作. Microsoft Graph也是Office 365从单纯的SaaS平台向PaaS平台(Office 365 as a Platform)发展的一个非常重要的基石.既然是一个平台,那么就自然会带来另外…
前言 此前我有一篇 文章 讲解了Microsoft Graph的一种数据扩展技术-- 开发扩展(Open Extensions),它可以实现在支持的对象(例如用户,组等)上面附加任意的数据.但开放扩展的问题在于,它是基于某个具体对象的,你无法确定两个对象是否具有同样的扩展(即便属性名一样,但也可能其包含的数据完全不同).如果我们需要对一类对象进行统一的扩展,例如给组(Group)这个类型添加几个特殊的属性,此时就可以用到架构扩展这个非常强大的技术. 关于架构扩展,官方的文档请参考 https:/…
原文链接:https://github.com/chenxizhang/office365dev/blob/e9b5a59cb827841d36692cc4ec52c11d43062e04/docs/timeline.md 前言 前不久微软正式放出了Windows 10 春季更新(1803),其中有一个非常有特色的应用,就是Windows 10 新增了一个Timeline(时间线)的应用,这个应用可以让用户一目了然地看到最近一段时间所有在Windows中的活动,包括浏览过什么网页,打开过什么文档…
最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说,Microsoft Graph API还是感觉很好用的,只是个人感觉在国内使用Microsoft生态的似乎并不多. 这篇文章对Graph API做个简单的介绍,并提供一些文档和实用工具,仅供参考. 如果有兴趣,可阅读陈希章的系列文章 一.什么是Microsoft Graph API 根据官方文档,M…
博客地址:http://blog.csdn.net/FoxDave 通过前两讲的阐述我们应该大致了解了使用GraphHttpClient调用Microsoft Graph接口的模式,并介绍了使用get或post方法去请求指定的URL端点.本文要介绍最后一个方法fetch,我们需要通过发起PATCH请求去更新我们想要更新的资源. 这次不做过多说明了,直接上代码.通过调用fetch方法更新组信息的代码如下: this.context.graphHttpClient.fetch(`v1.0/group…
博客地址:http://blog.csdn.net/FoxDave 本篇接上一讲,我们继续看如何通过GraphHttpClient创建一个Office 365的组,需要使用POST请求. 为结果添加按钮和占位符(PlaceHolder) 我们需要再次修改HTML代码,添加一个用来创建组的按钮. 1. 在Visual Studio Code中打开文件\src\webparts\helloWorld\HelloWorldWebPart.ts. 2. 修改render()方法,使其包含一个按钮和一个d…
博客地址:http://blog.csdn.net/FoxDave 使用GraphHttpClient类调用Microsoft Graph REST API,你可以使用GET,POST和PATCH请求(分别对应get(),post()和fetch()方法).本文会讲述如何构建一个使用GraphHttpClient的web部件(你可以在任何SharePoint Framework客户端代码使用GraphHttpClient).本篇主要讲解GET请求的应用. 使用GET请求获取Office 365组…
今天在使用Microsoft Graph 的时候,发现按照官方文档,无论如何都不能获取refresh_token,其他都没问题,经过查询,发现是因为在第一步,获取code授权时,没有给离线权限(offline_access). 加上就可以了. 代码片段: { client_id: 'xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxx', response_type: 'code', redirect_uri: 'http://localhost:3000/callback', res…
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Microsoft.Graph 经过了一天的测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章的文章之后,按照文章的方法尝试了很久终于成功发送了邮件 可以使用 Microsoft.Graph…
如何使用 Azure Active Directory 认证和 Microsoft Graph 构建 Blazor Web 应用 英文原文:https://developer.microsoft.com/en-us/identity/blogs/how-to-build-a-blazor-web-app-with-azure-active-directory-authentication-and-microsoft-graph/ 如果您是一个 .NET 开发者,你很可能听过过 Blazor 是一…
问题描述 编写Java代码调用Mircrosoft Graph API创建用户时,分别遇见了"401 : Unauthorized"和"403 : Forbidden"错误,调用的Java代码片段如下: 选择 Microsoft Graph 身份验证 ClientCredentialProvider authProvider = new ClientCredentialProvider( clientId, scopes, clientSecret, tenant,…
问题描述 在Azure开发中,我们时常面临获取Authorization问题,需要使用代码获取到Access Token后,在调用对应的API,如servicePrincipals接口. 如果是直接调用AAD的 OAuth 2.0 接口,可以通过https://login.chinacloudapi.cn/{tenant}/oauth2/v2.0/token来获取Token.操作步骤在博文<使用Postman获取Azure AD中注册应用程序的授权Token,及为Azure REST API设置…
Microsoft Graph是什么? Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性中的海量数据. 这句话来自微软的官网介绍,听起来很拗口,简单的说,就是微软的API. 在理解Microsoft Graph之前,你需要知道Microsoft365能做什么?答案是,能做微软提供的所有在线服务. 这里,除了常见的Web开发,还包括Network,…
问题描述 通过PowerShell 连接到Microsoft Graph 中国区Azure,一直出现AADSTS700016错误, 消息显示 the specific application was not installed in your tenant. 解决办法 根据弹出框中的错误提示, 这是因为MS Graph PowerShell并灭有注册到中国区Azure环境中,所以它无法找到Applicaiton ID: '14d82eec-204b-4c2f-b7e8-296a70dab67e'…
这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva写的文章,原文地址: https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet-6-journey/. Microsoft Graph 是一个 API 网关,它提供了对 Microsoft 365 生态系统中数据和智能的统一访问. 该服务需要实现两大目标:以非常高的规模运行并有效利用 Azure 计算资源. 我们使用 .NET 构建云原生的应用…
https://developer.microsoft.com/en-us/graph/blogs/announcing-30-days-of-microsoft-graph-blog-series/ https://developer.microsoft.com/en-us/graph/graph-explorer https://github.com/InteropEvents/mail-app-microsoft-graph…
本段代码是个通用性很强的sample code,不仅能够操作AAD本身,也能通过Azure Service Principal的授权来访问和控制Azure的订阅资源.(Azure某种程度上能看成是两个层级:AAD+Subscription) 下文中的代码是演示的screenshot中的红字2的部分.红字1的部分的permission实质上是赋予AAD service principal操作订阅的权限(这个需要切换var resource = “https://management.core.ch…
前言 据不完全统计,全世界使用Excel作为电子表格和数据处理的用户数以十亿计,这不仅得益于它的使用简便,同时还因为它内置了很多强大的函数,结合你的想象力可以编写出各种公式,并可快速根据数据生成图表和透视分析等.另一方面,Excel在整个Office家族中也是拥有开发者最多的一个组件,不管是在客户端的VBA宏和VSTO插件开发,以及在早些年出现在SharePoint Server中的Excel Service(包括用来呈现Excel文件的Web Part,以及一套XML Web Service可…
本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中进行扩展开发的手段(主要提到了VBA和VSTO,这里没有提及SharePoint等服务器端开发,因为后续会有专门的四篇文章介绍).承蒙大家抬举,我的这个系列文章除了首发在LinkedIn上面,同时会在Github和cnblogs以及以下两个公众号进行每周连载,如果有兴趣的朋友,请按需关注. 微软中国…