通过邮递员调用Microsoft graph api

时间:2018-08-28 06:09:36

标签: azure azure-active-directory microsoft-graph azure-ad-graph-api

大家好。

我正在尝试创建一个REST Web服务来访问MS Graph Calendar API。在开始编写代码之前,我想先通过邮递员对此进行测试。经过下面的研究,这是我到目前为止所达到的。

  1. 以@ outlook.com作为域创建一个Microsoft帐户,并访问Outlook实用程序。我去了日历显示器,并在日历上绘制了一些事件。
  2. 使用该帐户输入Azure portal并在此租户中创建一个Azure Active Directory和一个新用户。我与这个新创建的AAD用户共享了Microsoft帐户的日历。
  3. 使用新创建的Azure活动目录用户登录Microsoft App Registration Portal。我之所以使用该用户,是因为我在博客中看到需要在“融合应用程序”下注册一个应用程序。当我使用Microsoft帐户时,“应用程序注册门户”中没有“融合应用程序”部分。下面是一个屏幕截图。

  1. 我添加了一个“融合应用程序”,并获得了诸如 Application ID Application Secret Key 之类的必要详细信息。我选择的平台是“ Web”,我将其提供为重定向URL:https://www.getpostman.com/oauth2/callback。虽然,我认为我不会使用它,因为我需要的是无缝登录。我不想为我生成浏览器来提供我的Microsoft帐户进行授权和身份验证。

阅读时,有许多授权类型供您授权和认证以使用MS Graph API。一个是 授权代码授予流程 ,它会生成一个界面供您登录Microsoft或AAD帐户。如上所述,我需要无缝登录,因此我尝试了Client Credentials Grant TypeResource Owner Grant Type

  1. 创建应用程序后,应授予其特权以控制其可以访问的内容。我已经根据我需要使用的特定MS Graph API授予了应用程序所需的“委派和应用程序”权限。下面是一个屏幕截图。

  1. 假设我已经准备就绪,我尝试使用此URL获取访问令牌:

    https://login.microsoftonline.com/substitute-with-tenant-directory-id/oauth2/v2.0/token

我能够使用资源所有者授予类型获得访问令牌。下面是屏幕截图。

  1. 接下来,我尝试访问所需的特定API。这是网址:

    https://graph.microsoft.com/v1.0/me/calendar/calendarView?startDateTime=2018-08-01T00:00:00.0000000&endDateTime=2018-08-31T23:59:59.0000000

我还尝试用“ users / substitute-with-user-id”替换URL中的“ me”部分,但不幸的是我遇到了错误。下面是屏幕截图。

我被困住了,因为响应中显示“未知错误”。有人知道我在这里想念的吗?

3 个答案:

答案 0 :(得分:0)

它是委派的权限令牌,您只能获取当前登录用户的日历事件。如果要加载其他用户的事件,则可以使用仅应用程序令牌。请参阅https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service以了解如何获取仅应用令牌。

答案 1 :(得分:0)

我最近通过遵循This Blog上给出的步骤通过邮递员调用了Graph API 而且我认为问题在于您没有在身体上传递Resource。尝试将Resource传递给值为https://graph.microsoft.com的正文,希望这可以解决您的问题。

答案 2 :(得分:0)

以下对我有用的东西:

https://blogs.msdn.microsoft.com/softwaresimian/2017/10/05/using-postman-to-call-the-graph-api-using-azure-active-directory-aad/

1)在“授权”标签中创建访问令牌,将类型选择为OAuth 2.0,然后单击“获取新的访问令牌”。

2)输入如下详细信息:

验证URL:https://login.windows.net/common/oauth2/authorize?resource=https://outlook.office.com

访问令牌URL:https://login.microsoftonline.com/common/oauth2/token

客户ID:您的应用ID

秘密:应用注册时设置的秘密。

3)它将进行身份验证并创建令牌。

4)选择“将令牌添加到页眉”,然后单击“使用令牌”按钮。

5)在“正文”标签中,选择x-www-form。

6)在“标题”标签中,其外观应如下所示:

Content-Type:应用程序/ x-www-form-urlencoded

授权:不记名(您的令牌自动生成)。

7)执行POST操作。