博客地址 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. 日志汇总:logging、logger

    目录 1.日志输出到文件 2.日志输出到屏幕 3.设置输出等级 4.设置多个日志输出对象 5.日志的配置 6.记录异常 7.设置日志输出样式 1.日志输出到文件basicConfig()提供了非常便捷 ...

  2. java操作Word总结

    import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import com.jacob.com.Varia ...

  3. (24)如何使用HttpClient

    介绍 HttpClient是HTTP客户端的接口.HttpClient封装了各种对象,处理cookies,身份认证,连接管理等. 概念 HttpClient的使用一般包含下面6个步骤: 创建 Http ...

  4. MyBatis—mybatis-config.xml模板

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...

  5. 【转】ViewPager 一屏显示多个子页面

    一.概述 项目中遇到一个需求:ViewPager 一屏显示多个子页面.因为之前没有做过这样的界面,所以经历了些许小插曲,特以记之! 主要内容来自: http://blog.csdn.net/JM_be ...

  6. 报错org.openqa.selenium.WebDriverException: disconnected: unable to connect to renderer解决方法

    做自动化时经常会遇到不兼容的问题,比如以下简单的脚本,主要是打开浏览器,然后最大化窗口,打开百度,输入内容搜索,代码如下: package com.gs.selenium; import org.op ...

  7. Qml应用程序的性能考虑与建议

    本文翻译自Qt官网文档: http://doc.qt.io/qt-5/qtquick-performance.html QtQml应用程序的性能考虑与建议 1.时间考虑 作为一名程序开发者,应该努力使 ...

  8. showDoc的基本使用方法

    ShowDoc介绍 ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率. API文档( 查看Demo) 随着移动互联网的发展,BaaS(后端即服务)越来越流行.服务 ...

  9. P1174 打砖块

    P1174 打砖块 普通分组背包:50pts 题解说的啥????(大雾) 看了半天 $s[0/1][i][j]$表示第$i$列用$j$发子弹,最后一发是1/否0打在该列上的价值 $f[0/1][i][ ...

  10. CSS3动画库——animate.css

    初见animate.css的时候,感觉很棒,基本上很多常用的CSS3动画效果都帮我们写好了,所以想要哪一种效果直接就可以拿过来用,甚是方便: 效果展示官网:http://daneden.github. ...