博客地址 http://blog.csdn.net/foxdave

题外话:好久不写了,个人比较懒,有时候想写东西的时候想一想就又不知从何下笔了。之前因为某些机缘发现自己完全是个管理外行,所以最近下了一堆书,德鲁克的管理、PMBOK、产品管理类等等,泛读一下,至少跟人交流的时候不让自己看起来那么水(即使考过了国内项目经理依然水啊)。另外就是技术上,还是得学习啊,新的东西太多了,不学就跟不上了,这几天看了看Office 365的开发入门,整理一下MSDN的知识库写一篇,强化一下自己的学习吧。

PS:虽然题目叫(一),不保证有没有二

参考资料戳这里,就是照猫画虎学一学,英文好的话可以直接忽略下面啦,再见~

这张图可以大致看一下它里面都有什么

概述

云是以后互联网时代的主要方向,不仅限于微软,现在各种云服务琳琅满目,虽然你可能对云没什么概念,但是你肯定在使用着云,你从别人网盘下载下来的美剧什么的,就是一种云的应用。我作为一个研发人员自然在了解大致的功能之后就去关注它的API了。

O365的API是以一系列REST服务封装的服务接口,提供了来自Exchange Online的包括邮件、日历、联系人,来自SharePoint Online和OneDrive for Business的文件和文件夹,来自Azure AD的用户和组等相关操作,封装之后呢,你不需要对每个产品都特别了解,直接调用接口就可以了。REST接口以OData 2.0为标准用于数据传输,使用OAuth 2.0为标准作为验证和授权。

下图是O365接口的架构图

使用O365的REST接口,开发更加简单了。这个简单我这么理解:一是微软提供了成套的用于各种操作的接口,定义与调用方式的文档很健全,清晰简洁,跨平台,你可以通过调用接口开发安卓、IOS及Windows等相关的应用,使用你自己熟悉的方式,自己熟悉的语言,而不用学习什么新的编程技术;二是作为一款云端的产品,可操作性自然就不如本地服务端那么强,不像Server API那么丰富了,相对来说简化了所以简单。

配置开发环境

配置O365开发环境总共需要三步

一 获得一个O365开发站点,注册之后在SharePoint Online里新建一个开发者网站就行了,好像默认也有一个。

二 为你的开发站点设置Azure AD访问

Azure AD用于注册和授权你的应用程序,它存储你的应用和用户账户信息。去世界互联申请一个试用的吧,当然你有能力的话可以注册一个国际版的。

三 安装开发工具

IDE咱们用Visual Studio 2013,然后安装Office Developer Tool,100多M,下载地址戳这里。如果你是VS2012的话,也可以下载这个

添加API引用到你的项目

接下来我们要做的,就是添加引用了,就像你添加一个dll什么的。

打开VS2013,新建一个Project,这里我们选择Web应用程序

模版选择一个你熟悉的好了,这里我选择了Web Form,其他的都留作默认了。点击确定创建项目。

在解决方案管理器中,选择到你的项目文件节点,右键点击,选择添加->连接的服务,会弹出下面的窗体

点击注册应用,会弹出登录框,输入你的O365用户密码,点击登录,然后相关的服务接口就会以列表的形式展示出来,我们可以对每个服务设置它具有的权限,选中一个服务点击右边的“权限”链接进行设置,大致如下图所示

设置完之后点击下面的确定,VS就会把相关的引用都添加进来,并在输出窗口实时显示,稍等片刻,添加完成后会打开MSDN中的链接,告诉你添加完引用之后怎么做

如图所示,下一步要做什么已经告诉你了

集成O365的API到你的项目上

一 创建O365的探索客户端(不是太会翻译这个Discovery)

如文中所述,用户可能会使用你的应用程序进行多样化的端点调用,如收件箱、日历、OneDrive等,获取这些端点的URL,你的应用程序需要调用O365的Discovery Service。这个服务是你的解决方案调用的第一个服务。我们查看项目添加的引用,应该是如图所示的这个东西。

先不做详述了,有时间再补充。

可以参考实际的操作指引,戳这里

二 获得O365的访问令牌

三 创建客户端对象来访问O365的服务

最后,真正访问你的O365数据,你需要在你的代码中创建合适的对象模型,对象模型的类型依赖于你访问的O365 API服务。

对于日历、联系人和邮件,创建一个Outlook Service客户端模型

对于文件和网站,创建一个SharePoint客户端模型

对于用户信息,创建一个Azure AD客户端模型

接下来就是调用接口做你想做的事情啦

Office 365 开发 集成VS2013 (一)的更多相关文章

  1. [ Office 365 开发系列 ] 开发模式分析

    前言 本文完全原创,转载请说明出处,希望对大家有用. 在正式开发Office 365应用前,我们先了解一下Office 365的开发模式,根据不同的应用场景,我们选择最适合的开发模式. 阅读目录 Of ...

  2. Office 365开发概述及生态环境介绍(一)

    原文于2017年3月13日首发于LinkedIn,请参考这个链接 离上一篇文章,很快又过去了两星期的时间.今天抓紧晚上的时间,开始了Office 365开发系列文章的第一篇,我会帮助大家回顾一下过去O ...

  3. Office 365开发概述及生态环境介绍(二)

    本文于2017年3月19日首发于LinkedIn,原文链接在这里 在上一篇 文章,我给大家回顾了Office发展过来的一些主要的版本(XP,2003,2007,2013等),以及在Office客户端中 ...

  4. 《Office 365 开发入门指南》公开邀请试读,欢迎反馈

    终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 365开发人员写一些东西并最终能帮到更多中国用户的想法,而从2月26日正式写下 ...

  5. 拥抱开源,Office 365开发迎来新时代

    前言 作为全球最大的开放源代码托管平台,Github在上周迎来了它的十岁生日.自从2008年正式上线以来,Github上面汇聚了数以千万计的开发人员和各种项目,它几乎成为了开源的代名词和风向标,各大软 ...

  6. 《Office 365开发入门指南教程》正式上线,限时优惠和邀请分享推广

    我很高兴地通知大家,<Office 365 开发入门指南教程>已经正式在网易云课堂上线,你可以通过直接访问  https://aka.ms/office365devlesson 这个短地址 ...

  7. 所有人都可以是开发人员——《Office 365开发入门指南》视频教程即将上市

      今天是春节假期的最后一天,在这里给全国的朋友们拜个晚年,祝大家身体健康,晚年幸福啊.这个春节大家过的怎么样啊,我自己是在老家过的年,家乡的年味还是比较浓的,也再次感谢朋友圈的大家给我看了各地的风光 ...

  8. 《Office 365开发入门指南》上市说明和读者服务

    写在最开始的话 拙作<Office 365开发入门指南>上周开始已经正式在各大书店.在线商城上市,欢迎对Office 365的开发.生态感兴趣的开发者.项目经理.产品经理参考本书,全面了解 ...

  9. Office 365 开发入门

    <Office 365 开发入门指南>公开邀请试读,欢迎反馈 终于等来了这一天,可以为我的这本新书画上一个句号.我记得是在今年的2月份从西雅图回来之后,就萌发了要为中国的Office 36 ...

随机推荐

  1. (2.3)DDL增强功能-流程化控制与动态sql

    1.流程控制 在T-SQL中,与流程控制语句相关的关键字有8个: BEGIN...END BREAK GOTO CONTINUE IF...ELSE WHILE RETURN WAITFOR 其实还可 ...

  2. Mysql5.6主从复制

    搭建(192.168.1.10 -> 192.168.1.20) 1 master 上执行 阻塞 DMLflush tables with read lock; 记录 File 和 Positi ...

  3. EasyUI Tooltip 提示框

    通过 $.fn.tooltip.defaults 重写默认的 defaults. 当用户移动鼠标指针在某个元素上时,出现提示信息窗口用来显示额外信息.提示内容可以包含任何来自页面的或者通过 ajax ...

  4. SpringBoot 集成Spring security

    Spring security作为一种安全框架,使用简单,能够很轻松的集成到springboot项目中,下面讲一下如何在SpringBoot中集成Spring Security.使用gradle项目管 ...

  5. Office 2003 2007 2010 配置进度 正在配置 解决方案 (转载)

    在安装过Office2003.2007 或者2010之后,如果没有选择全部的组件,或者是因为安装到非系统盘,有时候打开 Office 文档的时候就会出现正在配置Office,或者Office配置进度的 ...

  6. Sql Server CPU 性能排查及优化的相关 Sql

    Sql Server CPU 性能排查及优化的相关 Sql 语句,非常好的SQL语句,记录于此: --Begin Cpu 分析优化的相关 Sql --使用DMV来分析SQL Server启动以来累计使 ...

  7. #C++初学记录

    输入与输出,头文件. #include<iostream> #include<algorithm> using namespace std; int main() { char ...

  8. Linux学习笔记之Linux最小化安装启动后如何配置

    在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好的最小化centos7做一些操作,来世我 ...

  9. ubuntu16.04更新源的时候显示:由于没有公钥,无法验证下列签名: NO_PUBKEY 3D5919B448457EE0【学习笔记】

    平台:ubuntu16.04 作者:庄泽彬(欢迎转载,请注明作者) 在添加了bazel的源之后执行sudo apt-get update出现下面的错误 echo "deb [arch=amd ...

  10. POJ 1386 Play on Words(欧拉路)

    http://poj.org/problem?id=1386 题意: 给出多个单词,只有单词首字母与上一个单子的末尾字母相同时可以连接,判断所有字母是否可以全部连接在一起. 思路: 判断是否存在欧拉道 ...