Я создаю бота, который синхронизирует информацию о группах SSO в Discourse при её изменении в нашем сервисе каталогов. Для операций с пользователями существует детализированная область действия API, но, похоже, для групп её нет. Неужели я просто это упускаю?
Если я правильно понял, вам нужен API-скаоп для добавления и удаления пользователей в группы. Для добавления пользователей и удаления пользователей существуют отдельные эндпоинты.
Извините, давайте уточним. Я знаю об этих конечных точках API. Мне нужно сгенерировать ключ API, который имел бы права только на выполнение этих действий (и ничего больше).
В документации я не вижу API-эндпоинта для этого.
В документации API-области действия не описаны подробно. Вы можете найти их при создании нового ключа API на вашем сайте, выбрав «Область действия: Детальная».
Вы ищете что-то вроде «управление группами» (необязательный идентификатор группы)?
Эта область доступа позволит вам добавлять и удалять пользователей из группы.
Да, точно. По сути, это чекбоксы, соответствующие API-эндпоинтам, описанным в https://docs.discourse.org/#tag/Groups
что примерно аналогично
То, что вы упомянули — добавление и удаление участников группы, — вероятно, самое важное. (Я могу представить некоторую ценность в разделении этих функций, но для наших целей это, думаю, не нужно.) Это также должно включать «Список участников группы» для групп, которые могут быть не публичными.
Второе по важности — создание / удаление / обновление. Однако для нашего первоначального использования мы, вероятно, будем полагаться на группы, созданные вручную (и проигнорируем группы SSO, у которых нет аналога в Discourse).
Спасибо!
Да… кажется, мы описываем здесь две области прав:
-
Управление группами (необязательный идентификатор группы) — позволяет добавлять/удалять, назначать владельцев групп и получать их список.
-
Администрирование групп — позволяет создавать/удалять и управлять группами.
Мы, безусловно, сможем реализовать это в течение следующего месяца, задача не слишком масштабная.
Добавляем внутренний тег для отслеживания. Звучит хорошо?
Звучит отлично — спасибо!


