Microsoft Graph-应用未经授权创建Sharepoint List订阅

时间:2020-08-05 09:05:28

标签: microsoft-graph-api microsoft-graph-sdks sharepoint-list microsoft-graph-files

我很难用ClientCredential身份验证流制作应用程序以在SharePoint列表上创建订阅。

请求

var subscription = new Subscription
{
    ChangeType = "updated",
    NotificationUrl = "{validNotificationUrl}",
    Resource = "sites/root/lists/{listId}",
    ExpirationDateTime = DateTime.UtcNow.AddDays(2),
    ClientState = "{clientState}"
};

subscription = await _graphClient.Subscriptions.Request().AddAsync(subscription);

响应

Unauthorized 403
{
  "error": {
    "code": "ExtensionError",
    "message": "Operation: Create; Exception: [Status Code: Forbidden; Reason: Access denied. You do not have permission to perform this action or access this resource.]",
    "innerError": {
      "date": "2020-08-04T13:01:27",
      "request-id": "c480fa5d-4bbd-44a1-9f86-587548a29a19"
    }
}

我已经检查了请求access_token,它具有必需的权限(根据documentation Sites.ReadWrite.All,Sites.Manage.All 应该足够了)。 阅读订阅并创建列表对应用程序来说很好。

我开始尝试不同的配置,试图找出问题所在,并设法:

  • 让应用根据用户资源创建订阅。
  • 使委派用户在列表上创建订阅

我感到很迷茫,因为我给应用程序赋予的权限比委派用户大,并且它仍然获得Unauthorized 403,并且响应错误并不能说明如何解决此问题。

是否存在仅需要进行应用程序身份验证的SharePoint List订阅配置?

1 个答案:

答案 0 :(得分:0)

该服务当前遇到一个问题,即仅应用列表和驱动器订阅在不应获得的访问被拒绝。该小组目前正在努力解决该问题。我建议您在研究问题时遵循this issue或打开支持通知单,要求将故障单链接到ICM 200246697。