2016-04-19 4 views
2

Я создаю приложение с угловыми и nodejs, и мне нужно иметь возможность читать список других пользователей событий. Прямо сейчас я пытаюсь использовать «https://graph.microsoft.com/v1.0/users/[email protected]/events», это дает мне 403 «Доступ запрещен. Проверьте учетные данные и повторите попытку». Однако, если я использую «https://graph.microsoft.com/v1.0/users/[email protected]/events», он работает (как и следовало ожидать). Мой вопрос в том, почему, когда я использую outlook, я могу использовать ассистент планирования для просмотра событий для «[email protected]» без администратора, но в моем приложении я не могу видеть их события из-за учетных данных?Доступ к Microsoft Graph api 403 запрещен при чтении других пользователей

Библиотекой Я использую для подключения к Microsoft Graph API является https://github.com/AzureAD/azure-activedirectory-library-for-js

Делегированных прав я установить в лазури является

  • Просмотра пользователи Адрес электронной почты
  • пользователей Войти
  • Узнать контакт с пользователем
  • Есть полный доступ к пользовательским календарям
  • Читать календарям пользователей
  • Отправить почту как пользователь
  • данные каталога прочитанной
  • Читать основные профили всех пользователей
  • Вход и читать Профиль пользователя

разрешений приложений (я понимаю, это требует администратора)

  • прочитанной календари во всех почтовых ящиках

Graph api permission scopes

Любая помощь приветствуется, благодарю вас.

ответ

0

Fugal - это по дизайну. Вы можете использовать API FindMeetingTimes для планирования встреч с другими пользователями. Это можно сделать только с помощью Calendar.Read. См. http://graph.microsoft.io/en-us/docs/api-reference/beta/api/user_findmeetingtimes для получения дополнительной информации.

Для просмотра другого пользовательского календаря с использованием конечной точки/событий вам необходимо специальное разрешение (что-то вроде Calendar.Read.Shared), которое мы все еще находим в процессе добавления. Как только мы добавим это, вы сможете использовать/Events для доступа к календарю, который другой пользователь явно предоставил вам. Но если вы хотите просто планировать встречи, FindMeetingTimes должно быть достаточно.

+0

Будет ли расширяться документация для findmeetingtimes в будущем? Я не могу найти документацию по нескольким типам, используемым в теле запроса (например, locationConstraint, attendeeBase, timeConstraint и длительность). Пример ниже на странице несколько неоднозначен, и я продолжаю получать ошибку 400 «плохой запрос» «неподдерживаемый тип сегмента». –

+0

Извините. Можете ли вы указать проблему для этого на doc-репо на GitHub https://github.com/OfficeDev/microsoft-graph-docs/issues, и мы попытаемся исправить это. –

+0

извините за то, что вы так долго ответили. Я чувствую себя глупо, теперь у меня случайно был v1.0 вместо бета-версии в URL-адресе. Теперь работает https://graph.microsoft.com/beta/me/findMeetingTimes. Однако https://graph.microsoft.com/beta/users/[email protected]/findMeetingTimes. Я все еще получаю 403 «ErrorAccessDenied». У меня есть разрешения для включенной области Календари. –

Смежные вопросы