作者:陈希章 发表于 2017年3月22日

上一篇文章我介绍了如何利用官方提供的Graph 浏览器快速体验Microsoft Graph强大功能,这是极好的起点。官方的Graph浏览器力图用最简单的方式帮助您使用Microsoft Graph,为此也隐藏了很多细节。为了帮助大家更好地理解Microsoft Graph的工作原理,例如要使用Microsoft Graph需要进行应用改程序注册,OAuth的过程以及Token传递的方式等,我专门再写一篇,介绍如何通过其他第三方工具来体验Microsoft Graph。

我们可以在网络上找到很多进行REST API调用和测试的工具,这一篇我给大家演示的是一款叫POSTMAN的工具。它的官方主页在 https://www.getpostman.com/,提供了针对MacOS,Windows,Linux的版本,也提供了Chrome的插件,你可以按需下载。

POSTMAN 有免费版和专业版,就本文的需求来说,免费版就够用了。

为了能通过POSTMAN来调用Microsoft Graph,我们必须按照Microsoft Graph概述中介绍的三部曲,首先要注册一个应用程序。

注册应用程序

我会有专门的文章来讲解注册应用程序的细节,本文将演示一个注册好的应用程序,如果你不想自己注册,也可以用我的信息进行测试。

你可以通过Microsoft 账号登录https://apps.dev.microsoft.com/#/, 注册一个应用程序,需要提供名称,并且声称一个秘钥,然后制定对应的平台,申请必要的权限。

发起POSTMAN请求

打开POSTMAN,默认情况下,如果去调用Microsoft Graph,因为没有提供身份,会返回如下的错误信息

这很容易理解,我们接下来要做就是为POSTMAN添加OAuth的认证。选择上图中"Authorization"这个选项卡中的Type为“OAuth 2.0", 然后点击“Get New Access Token"按钮,在弹出的对话框中填写你注册好的应用程序信息。

如果你在此前的注册应用程序中遇到障碍,请直接使用我准备好的测试应用程序信息:

Auth URL: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
Access Token URL: https://login.microsoftonline.com/common/oauth2/v2.0/token
ClinetID: 61df125c-f335-448e-8110-e6ab785a85f3
Client Secret: uCs9wjhyZok9EULEVPcjAfW
Scope: user.read mail.read mail.send

点击上图中的“Request Token”按钮,POSTMAN会弹出跳转到Microsoft Graph的认证页面,此时你可以输入Office 365的账号信息。

如果你输入了合法的账号信息,接下来应用程序将会请求你的授权

点击上图中的“Accept”按钮,正常情况下会关闭所有弹出的窗口,并且返回到POSTMAN的主界面,你现在就可以查看到当前申请得到的访问凭据(Access Token)了。

这里特别提一下,我发现有时候同样的操作却不能成功,可能受到一些网络方面的干扰因素吧,请大家遇到这种情况的话,耐心地重试一两次。

点击最右侧的“Use Token"按钮,可以将Access Token插入到当前的请求中去,注意观察“Headers”这个选项卡的变化 (Authorization:Bearer xxxxxxxxx),然后点击“Send”按钮,我们就可以顺利地完成当前的Microsoft Graph调用了。

请注意确保“Add token to” 这里选择“Header”

看起来不错吧?你是不是会说,这看起来也跟Graph 浏览器差别不大啊。是的,到目前为止,这都属于最基本的操作,接下来我介绍一下POSTMAN的一些亮点功能。

  1. 保存请求

  2. 对请求进行测试

保存请求

这是首先吸引我的功能,也是很自然的需求:如果能把上面的请求设置保存起来,那么下一次我就可以直接使用而不需要重复地去输入了。

点击上图中的最右侧的“Save”按钮,然后在弹出的对话框中输入Request Name等信息即可。

在保存请求的时候,我们还可以将其归类到一个集合(collection)中去。(如果你还没有创建集合,则可以选择创建一个新的集合)

我这里将几个常见的请求保存成了一个Office 365 devlab的集合,如下图所示


对请求进行测试

POSTMAN还有一个较有意思的功能,就是支持对一个集合的请求进行测试。点击上图左上角的“Runner”,在弹出的窗口中选择一个保存好的collection,进行一些简单的参数设置后,点击“Start Test”按钮,它会依次发起集合中的请求,并且将返回结果一一显示。


POSTMAN 还有命令行工具,可以便于脚本化进行测试,限于篇幅本文就不做展开了。

POSTMAN的专业版还有一些高级功能,例如团队协作之类的,有兴趣的朋友可以自行尝试。

结语

POSTMAN是一个不错的第三方工具,在同类的REST API 客户端工具中的优势在于图形化界面比较友好,而且对OAuth的强大支持,同时它还可以保存请求并且进行批量测试,这将为我们体验Micrsooft Graph打开一扇方便之门,并且也有助于更好地理解Microsoft Graph的工作原理。

通过第三方工具体验Microsoft Graph的更多相关文章

  1. 通过Graph 浏览器体验Microsoft Graph

    作者:陈希章 发表于 2017年3月18日 上一篇介绍了Microsoft Graph的基本概念,接下来我们快速体验一下Microsoft Graph到底能做什么? 为了帮助开发人员直观和快速体验Mi ...

  2. 转:与Microsoft Visual Studio集成良好的第三方工具

    我们都知道,Microsoft Visual Studio(简称VS)是微软开发的一个非常高效的集成开发环境,但即使已经发展到VS2012,仍然有许多不尽人意的地方.一般来讲,一个项目中需要有控件.代 ...

  3. Microsoft Graph Web应用程序极致开发体验

    作者:陈希章 重写于 2017年5月24日 前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际 ...

  4. Unity3D所使用的第三方工具

    前言 最近在研究Unity3D的结构和原理.关于Unity3D怎么用之类的教程在网上一找一大堆,想看教程之类的就不用看这篇文章了.我想做的是从使用Unity3D所看到的表象(表),摸透其设计原则和组织 ...

  5. 跨平台应用集成(在ASP.NET Core MVC 应用程序中集成 Microsoft Graph)

    作者:陈希章 发表于 2017年6月25日 谈一谈.NET 的跨平台 终于要写到这一篇了.跨平台的支持可以说是 Office 365 平台在设计伊始就考虑的目标.我在前面的文章已经提到过了,Micro ...

  6. Microsoft Graph API -----起题 Graph API

    最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说, ...

  7. js之第三方工具解析JSON

    1.JSON 仅仅是一种文本字符串.它被存储在 responseText 属性中 为了读取存储在 responseText 属性中的 JSON 数据,须要依据 JavaScript 的 eval 函数 ...

  8. 在无人值守程序(服务)中调用Microsoft Graph

    作者:陈希章 发表于 2017年5月31日 什么是无人值守程序(服务) 我在此前用了几篇文章分别介绍了在桌面应用程序(控制台),Web应用程序(ASP.NET MVC),以及PowerSehll脚本中 ...

  9. 基于Microsoft Graph打造自己的Timeline应用

    原文链接:https://github.com/chenxizhang/office365dev/blob/e9b5a59cb827841d36692cc4ec52c11d43062e04/docs/ ...

随机推荐

  1. 运放的PID电路

    PID就是(比例(proportion).积分(integral).导数(derivative)),在工程实际中,应用最为广泛的调节器控制规律为比例.积分.微分控制,简称PID控制,又称PID调节. ...

  2. C#算法面试题

    1.产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复. static void GetArray() { ]; ]; ; i < ; i++) { intArr[i] ...

  3. 使用git命令将本地项目上传到Gitlab上

    1.首先需要安装本地需要安装git 2.在gitlab上创建项目, 如下图, 点击右上角加号到项目创建页面, 填写项目名称, 选择项目访问权限, private为授权的组员才能访问. 3.打开项目源代 ...

  4. Linux端图形处理工具ImageMagick在Centos上的安装

    一.安装背景程序要用到用户上传图片,编辑的功能,能进行旋转,裁剪,缩放等. 二.ImageMagick介绍 ImageMagick是用C语言开发图片处理程序.可以对图片进行改变大小.旋转.锐化.减色或 ...

  5. java中处理json各种各样转换方法

    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.本文将快速讲解 JSON 格式,并通过代码示例演示如 ...

  6. 源码怎么找之rest_framework的用户认证

    首先得有一点常识,比如用户认证,就是authenticate 比如一个函数,应该有返回值, 比如一个类里面的self,真的是代表本身这个类吗 再比如看到一个东西加括号,就两种情况,一种是函数,一种是类 ...

  7. Bitmap.Config 说明 ALPHA_8 ARGB_4444 ARGB_8888 RGB_565

    这篇文章的目的是了解Bitmap.Config 你可以在使用这个方法的时候会遇到 Bitmap android.graphics.Bitmap.createBitmap(int width, int ...

  8. android堆栈调试--详细

    1.将ndk中的arm-linux-androideabi-addr2line可执行文件的路径加入配置文件~/.bashrc中,例如: export PATH=$PATH:~/dlna/android ...

  9. 一位有着工匠精神的博主写的关于IEnumerable接口的详细解析

    在此,推荐一位有着工匠精神的博主写的一篇关于IEnumerable接口的深入解析的文章:http://www.cnblogs.com/zhaopei/p/5769782.html#autoid-0-0 ...

  10. 从CentOS安装完成到生成词云python学习日记

    欢迎访问我的个人博客:原文链接 前言 人生苦短,我用python.学习python怎么能不搞一下词云呢是不是(ง •̀_•́)ง 于是便有了这篇边实践边记录的笔记. 环境:VMware 12pro + ...