#api #calendar #resources #report #office365
#API #Календарь #Ресурсы #Сообщить #office365
Вопрос:
Я ищу способ создания отчета из данных календаря Office 365 для наших сотрудников, которые все используют Office 365. Я просмотрел информацию наhttp://msdn.microsoft.com/en-us/library/office/dn605896(v=office.15).aspx#bkCalItems который предназначен для API для данных календаря. Но неясно, действительно ли у меня будет доступ к данным в календаре — или это будет «защищенный доступ». Если у меня есть правильный security / Azure Active Directory, можно ли написать отчет о данных календаря для всех сотрудников office? Я не хочу использовать несколько календарей или входить в систему несколько раз и экспортировать данные для каждого пользователя. Я хочу, чтобы один интегрированный отчет показывал календарную дату, а затем для этой даты назначения для каждого человека с описанием и от / до времени.
Надеюсь, это понятно — и спасибо за ваше руководство.
-j
Ответ №1:
В целом инструменты Office API созданы для того, чтобы клиенты могли получать доступ к своим собственным данным. Пользователь не имеет доступа к данным других пользователей. Но есть способ, которым вы можете делать то, что хотите.
Пользователи, которые будут генерировать отчет, вероятно, являются кем-то вроде администратора. Таким образом, вы могли бы предоставить этому пользователю полный доступ ко всем почтовым ящикам (используя функцию делегирования). Вы можете сделать это с помощью этого powershell:
Get-Mailbox -ResultSize unlimited -Filter {(RecipientTypeDetails -eq 'UserMailbox') -and (Alias -ne 'Admin')} | Add-MailboxPermission -User admin -AccessRights fullaccess -InheritanceType all -AutoMapping $False
Источник:http://help.outlook.com/en-us/140/gg709759.aspx
После этого вы можете с помощью стандартного Exchange Rest API получить доступ к календарю каждого отдельного пользователя
Сначала вы получаете список пользователей, вызывая:https://outlook.office365.com/EWS/OData/Users
Затем вы можете получить элементы календаря для каждого пользователя, вызвав:https://outlook.office365.com/EWS/OData/Users (‘EMAILOF@USER’)/Календарь
Мне не очень нравится этот подход, поскольку я не думаю, что администраторам должно требоваться полное разрешение только для чтения календаря пользователя. Но, по-видимому, даже если общий доступ к календарю включен, это не означает, что конечная точка calendar REST доступна пользователям, отличным от владельца почтового ящика, поэтому я не вижу другого способа. Если вы не хотите использовать формат ics, используемый общим доступом к календарю, но тогда ваш вопрос относится к неправильной категории.