概述 前不久我写过一篇文章拥抱开源,Office 365开发迎来新时代,给大家介绍了Office 365开发的典型场景是如何支持开源平台的:Office 365通过Microsoft Graph,以REST API的方式提供服务,任何开发平台都可以很方便地与其进行集成:Office Add-ins,SharePoint Add-ins和Microsoft Teams Apps开发,都可以基于标准的Web开发技术栈来实现,而且官方提供了对NodeJS,React,TypeScript等主流平台和框…
在上一篇文章(.NET Core开源行动:一键创建Excel Add-in) 中我给大家展示了一套为Office 365 Add-in开发人员准备的模板库,你可以通过 dotnet new excel & dotnet run 命令即可完成一个新的Add-in的创建和运行.     关于如何加载这个Add-in,上文中提到你需要将manifest.xml文件放在一个共享目录,然后在Excel中进行设置,实现所谓的sideload(旁加载).但是有没有什么方式可以更加简单方便地实现这个加载的行为呢…
最近有幸阅读了陈希章花了一年时间为国内开发者贡献的<Office 365 开发入门指南>. 虽然早期接触过SharePoint的开发,2007年之后就再也没有接触SharePoint的开发,这次阅读这本书让我重新认识了Office的系统开发技术,让我意识到现在的Office 开发也是.NET Core 开发技术的新战场,而且更为有心的是陈希章的范例都是使用.NET Core写的,具体地址 https://github.com/chenxizhang/office365dev. 在新CEO纳德拉…
前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软件巨头都纷纷支持,在广大程序员心目中,也更是精神图腾一般的存在,坊间戏言它是最大的同性交友平台. 我自己对开源了解不多,并且能力也有限,一直没有在这方面有所贡献,但我肯定和大家一样都是Github的受益者.今天这篇文章一方面是希望借此为Github庆生(本来是上周想写,但一直没有时间),另外也是因为…
本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概述及生态环境介绍(一) Office 365开发概述及生态环境介绍(二) 前面做了这么多铺垫,这一周终于要撸起袖子开干了.我将介绍如何搭建Office 365开发环境,本文将包括如下的两方面内容 申请Office 365一年免费的开发者账号 客户端开发环境介绍(Visual Studio Commu…
作者:陈希章 发表于 2017年7月29日 前言 作为人工智能技术的一个主要的表现形式,这些年机器人(bot)的应用越来越广泛.不管是有实物的,还是纯软件的,现在的机器人技术应该说已经走入寻常百姓家了.这一篇文章探讨的是,在微软提供的Bot Framework基础上快速开发和部署一个软件的机器人,并且将其与 Office 365 或其他应用无缝地整合起来,为用户带来全新的基于会话的人机交互体验. 基本概念 本文会用一个实例带领大家入门,如下的几个基本概念稍作说明 Bot Framework --…
前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Office 365 Addin案例 Office 365 Provider案例 Office 365 开发模式特点分析 Office 365 开发模式应用场景分析 正文 Office 365 的开发模式主要分为两类: office 365  addin应用开发 office 365  provider…
本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中进行扩展开发的手段(主要提到了VBA和VSTO,这里没有提及SharePoint等服务器端开发,因为后续会有专门的四篇文章介绍).承蒙大家抬举,我的这个系列文章除了首发在LinkedIn上面,同时会在Github和cnblogs以及以下两个公众号进行每周连载,如果有兴趣的朋友,请按需关注. 微软中国…
Office 365 开发概览系列文章和教程 原文于2017年2月26日首发于LinkedIn,请参考链接 引子 之前我在Office 365技术社群(O萌)中跟大家提到,3月初适逢Visual Studio 2017隆重发布以及20周年纪念,我想要发起一次与Office 365开发相关的活动,一方面也是向Visual Studio致敬:另一方面,我在加入微软之前,有相当长的一段时间都是从事与Office平台定制和应用系统开发的工作(最早是做VBA的开发,后来有做过VSTO,以及SharePoi…
写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解Office 365带来的全新机遇以及在具体业务应用开发中的场景. 写作本书差不多花了我一年的业余时间,这其实是源于我从美国回来后,跟国内的开发者朋友们交流时许下的一个承诺.我最开始是将一些文章发表在博客上面,后来越写越多,目录也一再调整,到2017年底的时候,发现篇幅已经不小,而且累计的阅读量也有了一定的规…
博客地址 http://blog.csdn.net/foxdave 题外话:好久不写了,个人比较懒,有时候想写东西的时候想一想就又不知从何下笔了.之前因为某些机缘发现自己完全是个管理外行,所以最近下了一堆书,德鲁克的管理.PMBOK.产品管理类等等,泛读一下,至少跟人交流的时候不让自己看起来那么水(即使考过了国内项目经理依然水啊).另外就是技术上,还是得学习啊,新的东西太多了,不学就跟不上了,这几天看了看Office 365的开发入门,整理一下MSDN的知识库写一篇,强化一下自己的学习吧. PS…
前不久进行的一次网络调查中,有不少朋友反馈了一些对于Office 365的实际问题,这里集中地做一个解答,请大家参考 1. Office 365的UI样式是否有开源计划 据我所知已经开源了:https://github.com/OfficeDev/office-ui-fabric-core 2. power app啥时候能在国内有 暂时还没有准确的时间表,现在国际版也只是Preview的阶段 3. 如何利用Office365节约公司资源成本,提高生产力. 多用,我是认真的 4. 能不能在 doc…
web 开发中,js 解析JSON 是经常的事情.非常繁琐.handlebars 使用了模版,只要你定义一个模版,提供一个json对象,handlebars 就能吧json对象放到你定的模版中,非常方便好用! HTML5应用开发:JavaScript语义模板库handlebars教程 官方网站 http://blog.csdn.net/jyy_12/article/details/7937712 http://docs.kissyui.com/…
原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去Office开发的一些场景,目前提供的一些能力,最后展望一下生态环境建设和未来的发展. 关于Office 365开发,这里的定义并不是指开发Office 365平台,或者接口(这两部分由微软数以万计的研发工程师们在负责),而是基于Office 365平台及其提供的接口,独立开发商(ISV)或者有一定能…
最近在整理书稿时,发现我在2017年7月份写的这篇 Office 365 机器人(Bot)开发入门 的内容,因为相关平台的升级,已经完全不能体现当前的开发过程,所以我再专门写一篇新的开发入门指南给有兴趣的大家参考. 这次平台升级的具体开始时间我不得而知,但是如果你现在继续访问 https://dev.botframework.com/ ,你将会看到一个明确的提示,要求将早先创建好的Bot在2018年3月31日之前迁移到新的Azure Bot Service: 如果你此时点击了"Create a…
前言 我相信很多人都看过<三国演义>,里面有很多引人入胜的故事和栩栩如生的人物,对我而言,曹操手下的一员猛将典韦实在让我印象深刻.例如,书中有一段描写典韦的作战经历: 时西面又急,韦进当之,贼弓弩乱发,矢至如雨,韦不视,谓等人曰:"虏来十步,乃白之."等人曰:"十步矣."又曰:"五步乃白."等人惧,疾言"虏至矣"!韦手持十余戟,大呼起,所抵无不应手倒者.布众退. 箭如雨下喊声四起,典韦以寡敌众,"贼至五步…
1.给站点添加完Napa后,在网站内容里点击Napa,如下图: 2.创建一个新的app,如下图: 3.可以在Napa里添加新的项目,如下图: 4.添加新的文件,可以添加web页面.样式表.脚本,如下图: 5.可以设置Napa,如下图: 6.设置用Visual C#语言,这样vs打开可以用C#,如下图: 7.可以点击左侧菜单,Open in Visual Studio,如下图: 8.弹出菜单,选择Visual C#,如下图: 9.可能会弹出菜单,安装Web Platform 5.0,如下图: 10…
终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下了第一篇,到今天正好是整整十个月了. 十个月的时间,赶一赶的话孩子都可以生一个了.多少个夜晚和周末的时间,如果不是怀着对客户的热爱.对公司的认可.对领导的眷恋和对技术的追求,我都不知道要怎么坚持下来.饶是如此,12月份中旬的时候一看Quota,还有将近五分之一的缺口,于是跺脚咬牙赌气发狠一口气写出来…
我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问  https://aka.ms/office365devlesson 这个短地址进入课程主页.     这门课程取材自我所编写.北京大学出版社于2018年9月发行的<Office 365开发入门指南>一书,并且在原书基础上修订了大纲,增加了很多最新的内容,课程主要面向的观众是:Office 365管理员.项目经理.平台集成开发商.有一定经验的Office Add-in开发人员…
  今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光和不同的过年方式.在这个春节假期里呢,我还做了一件特殊的事情,就是准备了这套<Office 365开发入门指南>的视频教程.大家知道,2018年9月份我的这本书正式上市发行了,这是我的第一本书,自己觉得写的水平一般,还有很多可以改进的地方.承蒙大家抬爱,我今年很可能会出第二版.这一方面是因为Off…
我在昨天发布的文章 -- 简明 Python 教程:人生苦短,快用Python -- 中提到了Python已经在Office 365开发中全面受支持,有不同朋友留言或私信说想了解更加详细的说明,所以特意整理这一篇给大家参考.   我之前写的<Office 365 开发入门指南>一书,对Office 365开发进行了比较详细的阐述,有兴趣可以参考 <Office 365开发入门指南>上市说明和读者服务     Microsoft Graph SDK for Python   如果你用…
前言 本文完全原创,转载请说明出处,希望对大家有用. 通过[ Office 365 开发系列 ] 开发模式分析和[ Office 365 开发系列 ] 身份认证两篇内容的了解,我们可以开始使用Office 365提供的各项接口开发应用了,接下来会对其提供的主要接口一一分析并通过示例代码为大家讲解接口功能. 阅读目录 Graph API介绍 Graph API功能 示例分析 正文 Graph API介绍 最近Office 365发布了一项新的功能Delve,此项功能为用户提供了基于人员信息及搜索的…
前言 本文完全原创,转载请说明出处,希望对大家有用. 通常我们在开发一个应用时,需要考虑用户身份认证及授权,Office 365使用AAD(Azure Active Directory)作为其认证机构,为应用程序提供身份认证及授权服务.因此,在开发Office 365应用前,我们需要了解AAD的认证和授权机制. 阅读目录 AAD认证授权机制 授权代码授予流和客户端凭证授予流 应用示例 正文 AAD认证授权机制 当前的AAD支持多种身份认证标准: OpenId Connect OAuth2 SAM…
<Office 365 开发入门指南>公开邀请试读,欢迎反馈 终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下了第一篇,到今天正好是整整十个月了. 十个月的时间,赶一赶的话孩子都可以生一个了.多少个夜晚和周末的时间,如果不是怀着对客户的热爱.对公司的认可.对领导的眷恋和对技术的追求,我都不知道要怎么坚持下来.饶是如此,12月份中旬的时候一看Qu…
前言 本人从接触Microsoft SharePoint Server 2007到目前为止,已经在微软SharePoint的路上已经走了好几年,基于SharePoint平台的特殊性,对微软产品线都有了比较全面的了解.从2011年微软发布第一个beta版本的Office 365开始,SharePoint也随之分为两条并行的产品线:SharePoint Server和SharePoint Online,实际意义上SharePoint Online是作为Office 365的一个应用组件提供给用户,与…
作者:陈希章 发表于 2017年7月31日 引子 谈论人工智能是让人兴奋的,因为它具有让人兴奋的两大特征 -- 每个人都似乎知道一点并且以知道一点为荣,但又好像没多少人能真正讲的明白.毫无疑问,我也仅仅是知道一点点,这一篇文章试图想通过比较接地气的方式给一部分人讲明白.这还得说要感谢这样一个时代,换做是几年前我是绝不敢造次的 -- 那时虽然人工智能并不稀奇,但大抵都是王谢堂前的燕儿,而如今随着技术的发展,人工智能不再高不可攀,变得和我们日常工作生活密切相关.看得见摸的着了. 人工智能已经从一个概…
谈论人工智能是让人兴奋的,因为它具有让人兴奋的两大特征 —— 每个人都似乎知道一点并且以知道一点为荣,但又好像没多少人能真正讲的明白.毫无疑问,我也仅仅是知道一点点,这一篇文章试图想通过比较接地气的方式给一部分人讲明白.这还得说要感谢这样一个时代,换做是几年前我是绝不敢造次的 —— 那时虽然人工智能并不稀奇,但大抵都是王谢堂前的燕儿,而如今随着技术的发展,人工智能不再高不可攀,变得和我们日常工作生活密切相关.看得见摸的着了. 人工智能已经从一个概念,到原型实践,到现在的产业化,甚至前不久国务院还…
.NET Core 里的F# 在.NET Core刚发布时,就已经添加了对F#的支持.但因为当时F#组件还不完整,而一些依赖包并没有放在Nuget上,而是社区自己放到MyGet上,所以在使用dotnet new -l fs创建F#模板时需要在项目中自己添加NuGet.config文件以配置依赖包才能还原成功. 不过在1.0.1发布后改善了F#的模板,通过dotnet new创建F#项目已经不需要自己添加NuGet配置了. 使用dotnet new -l fs生成一个控制台应用程序: 在ASP.N…
  背景: 1. 开发人员要做的事情,是希望在应用程序里面能调用Office 365 的API(Microsoft Graph)来动态添加Office 365账号 2. 如果需要调用这些API,必须在该Office 365的AAD中注册一个Application(获得Client ID和Key) 3. 国内版的Office 365,没有办法直接管理AAD 4. 国内版的Azure,虽然可以管理AAD,但是它跟Office 365是不通的. 方案:不能实现两个现有的Tenant绑定,但有如下两个方…
博客地址:http://blog.csdn.net/FoxDave 你需要一个Office 365开发者租户来使用预览版SharePoint Framework构建和发布客户端web部件.你的租户必须是一个开发者租户,不仅仅是一个网站集. 注册一个Office 365开发者租户 如果你已经有了一个Office 365开发者租户,请直接查看下一个部分. 如果你没有,到Office Developer Program去注册一个,你会收到一个欢迎邮件,邮件里面的链接可以注册一个Office 365…