Skip to Content

Настройка доступа к Microsoft 365

Элементы пакета Primo.Microsoft365 обращаются к Microsoft 365 через Microsoft Graph от имени зарегистрированного приложения. Перед началом работы администратор Microsoft 365 должен один раз зарегистрировать приложение и выдать ему разрешения.

Регистрация приложения

  1. Откройте Microsoft Entra admin center  → Identity → Applications → App registrations → New registration.
  2. Укажите имя приложения, например Primo RPA Robot, тип учетных записей — Accounts in this organizational directory only. Нажмите Register.
  3. На странице Overview скопируйте:
    • Application (client) ID — значение для свойства ID приложения контейнера Microsoft 365;
    • Directory (tenant) ID — значение для свойства Тенант.
  4. Настройте способ входа в зависимости от выбранного типа аутентификации:
    • сертификат — Certificates & secrets → Certificates → Upload certificate: загрузите открытую часть сертификата (.cer). Файл .pfx с закрытым ключом храните на машине робота;
    • секрет — Certificates & secrets → Client secrets → New client secret. Значение секрета отображается один раз — сохраните его сразу;
    • логин и пароль — Authentication → Allow public client flows → Yes.

Выдача разрешений

  1. В приложении откройте API permissions → Add a permission → Microsoft Graph.
  2. Выберите тип разрешений:
    • Application permissions — для входа по сертификату или секрету;
    • Delegated permissions — для входа по логину и паролю.
  3. Отметьте разрешения из таблицы ниже для тех групп элементов, которые будут использоваться, и нажмите Add permissions.
  4. Нажмите Grant admin consent for <организация> и дождитесь зеленых отметок в колонке Status.
Группа элементовРазрешения
OutlookMail.ReadWrite, Mail.Send
КалендариCalendars.ReadWrite
Excel, ФайлыFiles.ReadWrite.All; для SharePoint дополнительно Sites.ReadWrite.All
SharePoint ListsSites.ReadWrite.All
ГруппыGroup.ReadWrite.All
PlannerTasks.ReadWrite, Group.ReadWrite.All

Если элементы группы только читают данные, можно выдать разрешения на чтение: Mail.Read, Calendars.Read, Files.Read.All, Sites.Read.All, Group.Read.All.

Важно: Разрешения типа Application дают приложению доступ к данным всех пользователей организации. Чтобы ограничить робота определенными почтовыми ящиками, администратор Exchange может настроить политику доступа приложений (Application Access Policy / RBAC for Applications).

Учетная запись в элементах

У элементов, работающих с данными конкретного пользователя (Outlook, Календари, Файлы), есть свойство Учетная запись (у календарей — E-Mail). Оно определяет, чей ящик или OneDrive обрабатывает элемент:

Значение свойстваЧьи данныеКогда использовать
не заполненопользователя, под которым выполнен входтолько при типе аутентификации UsernameAndPassword
адрес, например "robot@company.ru"указанного пользователяобязательно при входе по сертификату или секрету; при входе по логину — для работы с чужим или общим ящиком

При входе по сертификату или секрету незаполненное свойство приводит к ошибке Access is denied или /me request is only valid with delegated authentication flow.

При входе по логину для работы с чужим ящиком пользователю нужны права на этот ящик в Exchange, а приложению — делегированные разрешения Mail.ReadWrite.Shared, Mail.Send.Shared, Calendars.ReadWrite.Shared.

Возможные ошибки

ОшибкаПричина и решение
Access is denied. Check credentials and try again.Не заполнена Учетная запись при входе от имени приложения, либо не выдано нужное разрешение
Insufficient privileges to complete the operation.Разрешение не выдано или не нажата кнопка Grant admin consent
Authorization_RequestDeniedВыданы разрешения не того типа: Delegated вместо Application или наоборот
Last updated on