Microsoft Graph是什么? Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性中的海量数据. 这句话来自微软的官网介绍,听起来很拗口,简单的说,就是微软的API. 在理解Microsoft Graph之前,你需要知道Microsoft365能做什么?答案是,能做微软提供的所有在线服务. 这里,除了常见的Web开发,还包括Network,…
作者:陈希章 发表于 2017年6月25日 谈一谈.NET 的跨平台 终于要写到这一篇了.跨平台的支持可以说是 Office 365 平台在设计伊始就考虑的目标.我在前面的文章已经提到过了,Microsoft Graph 服务针对一些主流的开源平台(主要用来做跨平台应用)都有支持,例如 python,nodejs 等.他们真的非常好用,与此同时我虽然对他们也有一定的了解,但要跟我最熟悉的 Microsoft .NET 来比较的话,我自然还是更喜欢后者了. 所以,一直在等待合适的时间,要来写 Mi…
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Microsoft.Graph 经过了一天的测试终于成功使用发送邮件 本文告诉大家如何在 UWP 调用 Microsoft.Graph 发送邮件 在仔细阅读了Microsoft Graph 桌面应用程序 - 陈希章的文章之后,按照文章的方法尝试了很久终于成功发送了邮件 可以使用 Microsoft.Graph…
Microsoft Graph 是 Microsoft 365 中通往数据和智能的网关. 它提供统一的可编程模型,可用于访问 Microsoft 365.Windows 10 和企业移动性 + 安全性中的海量数据. 利用 Microsoft Graph 中的大量数据针对与数百万名用户交互的组织和客户构建应用. Microsoft Graph 公开了 REST API,包含了Azure上的所有资源操作.关于它目前能操作的资源可以参考官方说明:https://docs.microsoft.com/e…
作者:陈希章 重写于 2017年5月24日 前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际上还真不是那么简单,至少我是不满意的,加上这一两周都比较忙,所以这一篇就一直搁置.直到上周的一个契机,让我看到了一个全新的方式,而且可以极大地改变我们在Web应用程序中集成Microsoft Graph,所以抓紧做了实践,写出来给大家参考. 在今年3月份Visual Studio 2017进行发布的…
微软云在中国是由“世纪互联”营运的,所以如果你用Visual Stuido 2003全通通用账户开发微软云,会有问题,这是他的不方便支持.好处是,因为是在大陆营运,所以速度比较快. (1)打开官网 http://www.windowsazure.cn/ (2)我申请了1元试用. (3)根据邮件里的连接,支付1元后,激活系统. (4)接下来介绍使用Visual Studio2013管理微软云.如下图选择.NET4.5.1,否则下面没有模板 (5)点击管理订阅(微软云是大陆运营的,我测试时,发现速度…
作者:陈希章 发表于 2017年7月12日 引子 这是一篇计划外的文章.我们都知道要进行Microsoft Graph的开发的话,需要进行应用程序注册.这个在此前我已经有专门的文章写过了.但这里存在一个小的问题:国内版的Office 365在申请好之后,并没有像国际版那样,有一个对应的可以注册和管理应用程序的Azure的界面.说起来有点绕,国际版的Office 365管理员可以直接登陆到portal.azure.com进行应用程序注册和管理,但国内版却不行.这个问题目前来说还是一个know is…
最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说,Microsoft Graph API还是感觉很好用的,只是个人感觉在国内使用Microsoft生态的似乎并不多. 这篇文章对Graph API做个简单的介绍,并提供一些文档和实用工具,仅供参考. 如果有兴趣,可阅读陈希章的系列文章 一.什么是Microsoft Graph API 根据官方文档,M…
这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva写的文章,原文地址: https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet-6-journey/. Microsoft Graph 是一个 API 网关,它提供了对 Microsoft 365 生态系统中数据和智能的统一访问. 该服务需要实现两大目标:以非常高的规模运行并有效利用 Azure 计算资源. 我们使用 .NET 构建云原生的应用…
作者:陈希章 发表于2017年4月23日 我旗帜鲜明地表态,我很喜欢PowerShell,相比较于此前的Cmd Shell,它有一些重大的创新,例如基于.NET的类型系统,以及管道.模块的概念等等.那么,PowerShell是否可以愉快地跟Microsoft Graph搭配工作,为我们的IT管理员或者开发人员提供一种利用脚本就可以对Office 365进行运维和集成呢? PowerShell一直可以管理Office 365,但那是通过比较传统的方式,就是Office 365提供了一些特定的Cmd…
作者:陈希章 发表于 2017年3月18日 上一篇介绍了Microsoft Graph的基本概念,接下来我们快速体验一下Microsoft Graph到底能做什么? 为了帮助开发人员直观和快速体验Microsoft Graph的魅力,官方提供了一个专门的工具,叫做Graph 浏览器(Graph Explorer).同时,由于国际版和世纪互联版本的Graph接口相关地址有所不同,所以针对这两个不同的版本,分别有对应的Graph浏览器. 国际版Graph 浏览器: https://developer…
前言 此前我有一篇 文章 讲解了Microsoft Graph的一种数据扩展技术-- 开发扩展(Open Extensions),它可以实现在支持的对象(例如用户,组等)上面附加任意的数据.但开放扩展的问题在于,它是基于某个具体对象的,你无法确定两个对象是否具有同样的扩展(即便属性名一样,但也可能其包含的数据完全不同).如果我们需要对一类对象进行统一的扩展,例如给组(Group)这个类型添加几个特殊的属性,此时就可以用到架构扩展这个非常强大的技术. 关于架构扩展,官方的文档请参考 https:/…
这个系列文章 已经进行到了实质的阶段,继上一篇介绍了如何搭建Office 365开发环境之后,我会通过这篇文章给大家介绍一个非常重要的概念:Microsoft Graph.它之所以重要,首先是因为它是未来Office 365对外的统一接口(甚至可以说是未来微软的云服务的对外统一接口),其次,Microsoft Graph对于不少Office 365开发人员来说是一个需要先跨过的门槛,这个关过去了,后续进行针对性的开发(Office Add-in,SharePoint Add-in,Office…
我利用网上特效开发的Jquery插件 代码如下 (function($){ $.fn.Dialogx = function(options) { var defaults={ Width:"300", Height:"300", Title:"对话框", Opacity:"0.2", Url:"", Content:"" }; var opts = $.extend({},default…
作者:陈希章 发表于 2017年3月22日 桌面应用程序,在我这篇文章的语境中,我是特指在Windows桌面上面直接运行的.NET应用程序,包括Console Application,WPF Application,Windows Forms Application, UWP Application,并且限于篇幅,我只会以Console Application作为演示,因为无论表现形式如何不同,它们从本质上是类似的. 本文所附带示例代码可以通过https://github.com/chenxiz…
作者:陈希章 发表于 2017年3月22日 上一篇文章我介绍了如何利用官方提供的Graph 浏览器快速体验Microsoft Graph强大功能,这是极好的起点.官方的Graph浏览器力图用最简单的方式帮助您使用Microsoft Graph,为此也隐藏了很多细节.为了帮助大家更好地理解Microsoft Graph的工作原理,例如要使用Microsoft Graph需要进行应用改程序注册,OAuth的过程以及Token传递的方式等,我专门再写一篇,介绍如何通过其他第三方工具来体验Microso…
作者:陈希章 发表于 2018年1月2日 前言 Microsoft Graph是一张拥有巨大价值的网络,它定义了包括Office 365在内的资源的实体及其关系,它的价值体现在,随着用户积累的数据越来越多,经过授权的应用程序可以在这些数据的基础上得到很多有价值的信息,并且帮助用户更好地完成工作. Microsoft Graph也是Office 365从单纯的SaaS平台向PaaS平台(Office 365 as a Platform)发展的一个非常重要的基石.既然是一个平台,那么就自然会带来另外…
原文链接:https://github.com/chenxizhang/office365dev/blob/e9b5a59cb827841d36692cc4ec52c11d43062e04/docs/timeline.md 前言 前不久微软正式放出了Windows 10 春季更新(1803),其中有一个非常有特色的应用,就是Windows 10 新增了一个Timeline(时间线)的应用,这个应用可以让用户一目了然地看到最近一段时间所有在Windows中的活动,包括浏览过什么网页,打开过什么文档…
博客地址:http://blog.csdn.net/FoxDave 通过前两讲的阐述我们应该大致了解了使用GraphHttpClient调用Microsoft Graph接口的模式,并介绍了使用get或post方法去请求指定的URL端点.本文要介绍最后一个方法fetch,我们需要通过发起PATCH请求去更新我们想要更新的资源. 这次不做过多说明了,直接上代码.通过调用fetch方法更新组信息的代码如下: this.context.graphHttpClient.fetch(`v1.0/group…
如何使用 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 是一…
问题描述 在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设置…
1.常见用法           using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New ApplicationClass();    Microsoft.Office.Interop.Excel.Workbook book = ExcelApp.Workbooks.Add(); 2) 更改 Excel 标题栏: ExcelApp.Caption := '应用程序调用 Micr…
我利用网上代码开发的JQuery图片插件 代码如下 (function($){ $.fn.FocusPic = function(options){ var defaults = { intervalTime:1000,//切换时间 divElement:".FocusPic",//div元素 imgElement:".imgList",//图片元素 numElement:".countNum",//数字索引按钮元素 titleElement:&…
网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面html保存为EXCEL文件(此步骤有多种方法,就不详细探讨了.只要能将web页面转成EXCEL文件,剩下的就好说了.) StringWriter html = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(html); base…
Microsoft Azure云服务推出机器学习的模块,用户只需上传数据,利用机器学习模块提供的一些算法接口和R语言或别的语言接口,就能利用Microsoft Azure强大的云计算能力来实现自己的机器学习的任务. 本文浅尝了该机器学习模块,参照官方实例和帮助文档,完成了一个简单的应用实例,具体步骤如下. 1.新建workspace 注意,在填写workspace owner,一定要填写一个有效的windows live 账号 进入创建的workspace,界面如下图所示 2.上传数据 数据源:…
3.4 Git 分支 - 利用分支进行开发的工作流程 利用分支进行开发的工作流程 现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程.而正是由于分支管理的便捷,才衍生出了这类典型的工作模式,你可以根据项目的实际情况选择一种用用看. 长期分支 由于 Git 使用简单的三方合并,所以就算在较长一段时间内,反复多次把某个分支合并到另一分支,也不是什么难事.也就是说,你可以同时拥有多个开放的分支,每个分支用于完成特定的任务,随着开发的推…
作者:陈希章 发表于 2017年5月31日 什么是无人值守程序(服务) 我在此前用了几篇文章分别介绍了在桌面应用程序(控制台),Web应用程序(ASP.NET MVC),以及PowerSehll脚本中如何访问Microsoft Graph,今天这一篇要继续讲一个场景:在无人值守程序中访问Microsoft Graph.那么什么是无人值守程序呢?通常我们将此类程序定义为不需要(不允许)用户进行干预,一般用来在后台自动化运行的程序.在英文文档中,我们将其称之为daemon application,广…
前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各处的文章时候,发现其中有几款是基于 three.js 开发的,目前火爆朋友圈的<跳一跳>就是其中之一.这引起了我的注意,想起几年前也做过不少 WebGL 的尝试,于是禁不住想要弄到微信小游戏平台上试试. 准备工作 最新版本的 three.js: 首先应该具有一定的 three.js 开发经验,有之…
这是我在 精彩又一年:Microsoft Teams技术社区2018年度回顾和展望 活动上面的主题分享,我用Microsoft Teams技术社区的实践经验,给大家整理和分享了技术架构和一些运营经验.   Microsoft Teams 设计用来作为团队协作的中枢,它不仅能很好地在组织内部工作,也能打破边界,实现与外部用户的无缝协作,而且这一切都是安全可控的.基于这种特性,它可以用来作为协会.技术社区.上下游合作联盟之类的承载.     作为一个社区的创建者和管理者,你需要至少考虑如下几件事情…
博客地址:http://blog.csdn.net/FoxDave 本篇接上一讲,我们继续看如何通过GraphHttpClient创建一个Office 365的组,需要使用POST请求. 为结果添加按钮和占位符(PlaceHolder) 我们需要再次修改HTML代码,添加一个用来创建组的按钮. 1. 在Visual Studio Code中打开文件\src\webparts\helloWorld\HelloWorldWebPart.ts. 2. 修改render()方法,使其包含一个按钮和一个d…