为Sharepoint List创建订阅返回403禁止



我正在使用Microsoft Graph API从Sharepoint列表中获取项。一切都很好,我有一个令牌,它可以从列表中获取项目

现在我想得到一个通知,当任何项目在该列表中更新。为此,我尝试使用相同的令牌创建带有订阅的webhook。然而,当试图创建订阅时,API返回403。

var subscription = new Subscription
{
Resource = "sites/{siteId}/lists/{listId}/",
NotificationUrl = "{notification url}",
ExpirationDateTime = DateTimeOffset.Now.AddDays(2),
ChangeType = "updated"
};
var res = await graphServiceClient.Subscriptions
.Request()
.AddAsync(subscription);

我已经设置了所需的站点。ReadWrite。我的应用程序注册的所有权限。对API的调用返回我

{
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.]
Inner error:
AdditionalData:
request-id: 99445d24-8d09-45a5-98e7-05b99587fd7f
date: 2020-04-26T21:53:21
ClientRequestId: 99445d24-8d09-45a5-98e7-05b99587fd7f
}

我是否瞄准了错误的资源,或者该应用程序是否需要任何其他权限?

编辑:也尝试过使用证书进行授权,仍然没有。

要创建新的webhook订阅,应用程序必须至少对将创建订阅的SharePoint列表具有编辑权限(如果应用程序是Azure AD(。如果应用程序是SharePoint加载项,则必须授予"管理"或更高权限。

最新更新