Создание подписки на Sharepoint List возвращает 403 запрещенных - PullRequest
1 голос
/ 27 апреля 2020

Я использую 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);

Я установил необходимое разрешение Sites.ReadWrite.All для регистрации моего приложения. Вызов 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
}

Я нацеливаюсь не на тот ресурс или есть какие-то другие разрешения, которые нужны этому приложению?

Редактировать: также пытался использовать сертификат для авторизации, все еще ничего.

1 Ответ

0 голосов
/ 27 апреля 2020

Для создания новой подписки webhook приложение должно иметь как минимум разрешения на редактирование списка SharePoint, в котором будет создаваться подписка (если приложением является Azure AD). Если приложение является надстройкой SharePoint, необходимо предоставить разрешение «Управление» или более высокое разрешение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...