博客地址 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. 【python】BeautifulSoup的应用

    from bs4 import BeautifulSoup#下面的一段HTML代码将作为例子被多次用到.这是 爱丽丝梦游仙境的 的一段内容(以后内容中简称为 爱丽丝 的文档): html_doc = ...

  2. Python-装饰器-案例-获取文件列表

    import os def get_all_path(fun): '''装饰器.功能:获取全路径文件名.如:D:/tmp/12.txt :param fun: :return:file_path_li ...

  3. 【云安全与同态加密_调研分析(8)】同态加密技术及其应用分析——By Me

    ◆同态加密技术(Homomorphic Encryption, HE)及其应用◆ ◆加密方案◆ ◆应用领域◆ ◆厂商◆ ◆同态加密现有产品形态和工程实现◆ ◆参考链接◆ ◆备注(其他参考信息)◆ 同态 ...

  4. (4.21)SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    转自:指尖流淌 http://www.cnblogs.com/zhijianliutang/p/4100103.html SQL Server数据库启动过程(用户数据库加载过程的疑难杂症) 前言 本篇 ...

  5. umlの交互图

    版权声明:本文为博主原创文章,若要转载请注明出处!^_^ https://blog.csdn.net/u010892841/article/details/24920155 前面介绍了uml的非常多种 ...

  6. MySql创建函数与过程,触发器, shell脚本与sql的相互调用。

    一:函数 1:创建数据库和表deptartment, mysql> use DBSC; Database changed mysql), ), )); Query OK, rows affect ...

  7. 鸟哥linux私房菜学习笔记,U盘安装centos5.3不能正常进入图形界面的问题

    前面说过自己成功引导了centos系统,现在进入启动界面,首次进入会进行相关设置,按照步骤一步一步完成,取消完光盘安装,点击下一步,就进入下面这个界面,没有登录框...没错!怎么蓝屏了,这可是linu ...

  8. POJ1273:Drainage Ditches(最大流入门 EK,dinic算法)

    http://poj.org/problem?id=1273 Description Every time it rains on Farmer John's fields, a pond forms ...

  9. rest-framework框架的基本组件

    快速实例 Quickstart 大致步骤 (1)创建表,数据迁移 (2)创建表序列化类BookSerializer class BookSerializer(serializers.Hyperlink ...

  10. Educational Codeforces Round 47

    A. Game Shopping 签. #include <bits/stdc++.h> using namespace std; #define N 1010 int n, m, c[N ...