Управление пользователями
Управление пользователями
Обзор
В этом руководстве рассказывается о базовом управлении пользователями через API-интерфейс Frame.io. Предполагается, что читающий пользователь уже настроил аутентификацию через OAuth2.0 или с помощью токена разработчика.
Основные концепции
Помимо специфических нюансов различных ролей и разрешений участников группы есть два важных ключевых аспекта для понимания при управлении пользователями через API-интерфейс Frame.io:
- Участники команды принадлежат командам и имеют доступ ко всем не частным проектам в этих командах. Менеджеры и администраторы команд являются расширениями роли участника команды.
- Соавтор проекта принадлежит одному проекту. В зависимости от того, как настроен проект, он может или не может создавать презентации, загружать ресурсы или приглашать других соавторов.
Для получения дополнительной информации обратитесь к справочной документации по сравнению участников команды и соавторов и по ролям управления учетными записями.
Как пользователи присоединяются к учетным записям
В общем, новые пользователи приглашаются текущими пользователями либо напрямую, либо через уникальный URL-адрес для присоединения к проекту. Участники команды также могут:
- Добавлять себя к не частным проектам в общедоступных командах своей учетной записи.
- Добавлять себя к общедоступным командам в их учетной записи.
- Запрашивать присоединение к частным командам в своей учетной записи.
Во всех случаях действия по присоединению проходят через серию логических шагов, включающих проверку предыдущего участия, создание записей «в ожидании» и отправку приглашений или электронных писем с запросами на присоединение при необходимости.
Хорошо, что вся эта логика абстрагирована API-интерфейсом Frame.io. Чтобы добавить кого-то в проект, используйте маршруты соавтора. Чтобы пригласить кого-то в команду, используйте маршруты участника команды.
Необходимые области доступа
Управление участниками команды
Добавление участников команды
Для добавления нового участника в команду требуется:
ИДцелевой команды.- Адрес электронной почты целевого пользователя.
Затем просто выполните авторизованный запрос POST к https://api.frame.io/v2/teams/:id/members с адресом электронной почты целевого пользователя в теле полезной нагрузки следующим образом:
Если приглашенный пользователь уже является участником команды в вашей организации, ответ API-интерфейса укажет на это:
Если приглашенный пользователь еще не состоит в вашей организации, ваш запрос запустит процесс приглашения, и ответ API-интерфейса будет выглядеть примерно так:
Примечание. Поскольку пользователь еще не создан или не распознан, в ответе pending_team_member не будет сопоставимого user_id.
Удаление участников команды
Для удаления участника из команды требуется:
ИДцелевой команды.- Адрес электронной почты целевого пользователя.
Здесь вы будете выполнять вызов DELETE к тому же URL-адресу, который используется для добавления участника команды, и передавать специальную строку запроса: DELETE https://api.frame.io/v2/teams/:id/members/_?email=user@example.com
Что такое шаблон включения?
Обратите внимание на конструкцию /_?email= — это специальный шаблон в API-интерфейсе Frame.io, называемый шаблоном включения, который позволяет запрашивать дополнительные данные в запросе API (в данном случае адрес электронной почты пользователя).
При выполнении вызова API-интерфейс вернет аналогичную полезную нагрузку для добавления участника команды. Если участник команды удаляется впервые, вы увидите атрибут updated_at, соответствующий времени вызова. Если участник команды удален ранее, эта метка времени не обновится (т. е. она будет отражать время, когда участник команды удален изначально).
Попытки удалить участников команды, которые не существуют или никогда не были связаны с командой, приведут к ошибкам 404.
Управление соавторами проекта
Добавление соавторов проекта
Управление соавторами очень похоже на управление участниками команды. Для добавления нового соавтора в команду потребуется:
ИДцелевого проекта.- Адрес электронной почты целевого пользователя.
Затем выполните авторизованный запрос POST к https://api.frame.io/v2/projects/:id/collaborators с адресом электронной почты целевого пользователя в теле полезной нагрузки:
Если приглашенный пользователь распознан и роль соавтора может быть назначена мгновенно, ответ API-интерфейса укажет на это и вернет полный объект пользователя:
Участие в команде
Если пользователь уже является участником команды в вашей организации, но не является участником целевого проекта, вы все равно можете использовать маршрут соавтора, и API-интерфейс ответит, как указано выше. В фоне участник команды будет добавлен в ваш целевой проект и останется участником команды. Другими словами, вы не можете случайно «понизить» участников команды с помощью этого маршрута.
Если пользователь, которого вы пригласили, новый в вашей организации, ваш запрос запустит процесс приглашения, и API-интерфейс ответит записью pending_collaborator, как показано ниже:
Удаление соавторов проекта
Примечание. Этот процесс принципиально идентичен тому, как обрабатываются участники команды (выше).
Для удаления соавтора из проекта требуется:
ИДцелевого проекта.- Адрес электронной почты целевого пользователя.
Здесь вы будете выполнять вызов DELETE к тому же URL-адресу, который используется для добавления соавтора, и передавать специальную строку запроса. DELETE https://api.frame.io/v2/projects/:id/collaborators/_?email=user@example.com
При выполнении вызова API-интерфейс вернет аналогичную полезную нагрузку для добавления соавтора проекта.
Попытки удалить соавторов, которые не существуют или никогда не были связаны с проектом приведут к ошибкам 404.
Предупреждение! Удаление соавтора не является идемпотентным.
В отличие от удаления участника команды, попытки удалить уже удаленных соавторов приведут к возникновению ошибок 404.