【问题标题】:Create calendar event using Microsoft Graph: ErrorAccessDenied使用 Microsoft Graph 创建日历事件:ErrorAccessDenied
【发布时间】:2018-10-18 11:08:20
【问题描述】:

我一直在使用 curl 和 Outlook REST API v1.0(带有基本身份验证)在 Outlook 日历中创建日历事件。基本身份验证即将被弃用,因此我现在尝试使用 OAuth 2 迁移到 Microsoft Graph v1.0。我已经取得了一些进展,但在运行 POST 以创建事件时卡在“ErrorAccessDenied”。这是我到目前为止所做的:

  1. 在此处注册我的应用程序(curl):https://apps.dev.microsoft.com/#/appList,将应用程序权限设置为 Calendars.ReadWrite(并且,为了更好地衡量,也将委托权限设置为 Calendars.ReadWrite。)

  2. 使用上面第 1 步中的客户端/应用程序 ID 和客户端密码/密码,我可以使用以下命令获取访问令牌:

curl -X POST -k -d "grant_type=client_credentials&client_id=[ApplicationID]&client_secret=[Password]&resource=https%3A%2F%2Fgraph.microsoft.com%2F" https://login.microsoftonline.com/[TenantID]/oauth2/token

  1. 然后我尝试使用以下命令创建事件,但得到以下 ErrorAccessDenied 错误:

curl.exe -k -o "C:\Temp\output.txt" -X POST -H "Content-Type:application/json" -H "Authorization: Bearer [TOKEN]" -d @"C: \Temp\eventDetails.json" https://graph.microsoft.com/v1.0/users/[UserPrincipalName]/calendars/[CalendarID]/events?$select=Id,lastModifiedDateTime

{ “错误”: { "code": "ErrorAccessDenied", "message": "访问被拒绝。检查凭据并重试。", “内部错误”:{ “请求 ID”:“38b802b9-08b9-4e0b-8f91-66ef56c459f8”, “日期”:“2018-10-17T01:08:22” } } }

除了将已注册应用的应用程序权限设置为 Calendars.ReadWrite(上面的第 1 步)之外,我不知道如何允许访问。任何帮助将不胜感激。

谢谢。

【问题讨论】:

  • 据我了解,我们无法为用户创建事件,只能为自己创建。
  • 这个问题不是针对curl,所以我会删除那个标签。

标签: oauth-2.0 office365 microsoft-graph-api outlook-restapi


【解决方案1】:

对我有很大帮助的是使用 JWT 检查网站检查令牌,例如 JWT.ms。本网站将向您解释有关令牌的所有详细信息(由 Microsoft 构建,令牌仅由 javascript 解析,不传输)。该网站还有一个Claims选项卡,其中解释了令牌中的所有声明。

您正在谈论应用程序权限,这需要一个额外的步骤。它还必须得到 Azure AD 管理员的同意才能访问您要访问的目录。

您可以将其构建到登录流程中,但最简单的方法是通过 Azure 门户。

  1. 转到https://portal.azure.com -> Azure Active Directory -> [AD 名称] - 应用注册
  2. 找到您要授予访问权限的应用。
  3. 点击设置
  4. 点击所需权限
  5. 点击授予权限

这样做是在您的租户中创建一个具有您请求的权限的应用程序帐户。

在这些步骤之后,您应该创建一个新令牌并将其与您第一次获得的令牌进行比较,您应该能够看到更改。

【讨论】:

  • 非常感谢斯蒂芬!这确实是问题所在。我还没有授予管理员访问权限。现在工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多