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



我很难用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"
}
}

我已经检查了requestaccess_token,它具有所需的权限(Sites.ReadWrite.All,Sites.Manage.根据文档,所有都应该足够了(。阅读订阅和创建列表适用于应用程序。

我开始尝试不同的配置,试图隔离问题,并设法:

  • 让应用程序在用户资源上创建订阅
  • 让委派用户在列表上创建订阅

我感到很失落,因为我给了应用程序比委托用户更多的权限,但它仍然会得到Unauthorized 403,而响应错误并不能说明如何解决这个问题。

是否有SharePoint列表订阅的任何配置只需要进行应用程序身份验证

该服务目前遇到一个问题,即仅应用程序列表和驱动器订阅在不应该访问时被拒绝。该团队目前正在努力解决这个问题。我建议您在我们调查问题时关注这个问题,或者打开支持票证,要求将您的票证链接到ICM 200246697。

最新更新