Microsoft Graph - приложение не авторизовано для создания подписки на список точек доступа. - PullRequest
0 голосов
/ 05 августа 2020

Мне сложно создать приложение с потоком аутентификации 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, и у него есть необходимые разрешения ( Sites.ReadWrite.All, Sites.Manage.All согласно документации должно быть достаточно). Чтение подписок и создание списков отлично работает для приложения.

Я начал экспериментировать с различными конфигурациями, пытаясь изолировать проблему, и мне удалось:

  • заставить приложение создавать подписку для пользователей ресурс.
  • заставить делегированного пользователя создать подписку в списке

Я чувствую себя потерянным, так как я дал приложению больше разрешений, чем делегированный пользователь, и оно по-прежнему получает Unauthorized 403 и ответ ошибка мало что говорит о том, как решить эту проблему.

Существуют ли какие-либо конфигурации для подписок SharePoint List, о которых нужно позаботиться только для проверки подлинности приложений?

1 Ответ

0 голосов
/ 18 августа 2020

Служба в настоящее время сталкивается с проблемой, из-за которой доступ к спискам только для приложений и подпискам на диски запрещается, хотя этого не должно быть. В настоящее время команда работает над решением проблемы. Я предлагаю вам следить за этой проблемой , пока мы исследуем проблему, или чтобы вы открыли заявку в службу поддержки с просьбой связать свой билет с ICM 200246697.

...