Как сделать расширение для сохранения всех сообщений в разговоре Circuit Unify?

Я использую Circuit Unify для работы. Тем не менее, я хотел бы сохранить или экспортировать сообщения в беседе в файл, чтобы сохранить для лучшей документации. В настоящее время это кажется невозможным как в веб-приложении, так и в настольном приложении. Таким образом, я хочу сделать расширение (или приложение?), Чтобы сделать работу.

Мой вопрос: с чего мне лучше начать? Как я могу сделать расширение для Circuit? Можно ли сделать такое расширение (или приложение)?

Ваши комментарии и предложения будут с благодарностью

1 ответ

Решение

Лучше всего использовать API-интерфейс Circuit JavaScript для извлечения сообщений, например, с помощью API getConversationItems. Каждый элемент (он же сообщение) содержит URL-адреса для загрузки своих вложений.

Теперь есть несколько разных способов сделать это.

Вариант 1. Использование бота

Создайте бота (грант клиента), который может быть добавлен в диалог участником этого диалога с помощью обычной кнопки "Добавить участника" на клиенте Circuit. Этот бот затем имеет доступ ко всем сообщениям этого разговора и может прослушивать новые сообщения, которые публикуются. Бот может прослушивать отправляемое конкретное сообщение (команду), например / export. Когда эта команда отправлена, бот извлекает все данные этого диалога для экспорта, создает PDF-файл (или какой-либо требуемый формат) и присоединяет его к диалогу. Кроме того, бот может также сохранить этот PDF-файл в другом месте, но это может вызвать проблемы с безопасностью.

Вариант 2. Использование отдельного веб-приложения

Создайте веб-приложение, в которое пользователи будут входить, используя свои учетные данные Circuit через OAuth (неявный или тип предоставления кода авторизации). Затем приложение действует от имени вошедшего в систему пользователя. Приложение может перечислить беседы, к которым у пользователя есть доступ (API-интерфейс getConversations), и показать кнопку для экспорта выбранной беседы. Затем приложение делает то же самое, что и бот в варианте 1 для создания PDF, но вместо публикации PDF в диалоге, веб-приложение загрузит PDF.

Вариант 3: Создать расширение Chrome

Я не поощряю эту опцию, так как пока нет официального способа расширить веб-клиент Circuit. Это означает, что новая версия веб-клиента Circuit может нарушить расширение. Используя расширение chrome, можно добавить кнопку "Экспорт" в пользовательский интерфейс, а с помощью некоторых внутренних API-интерфейсов получить данные для экспорта. Планируется создать официальные точки расширения, чтобы позволить разработчику расширить некоторую часть веб-клиента Circuit, а также использовать JS SDK в расширении Chrome.

Примечание: Вы также можете использовать Circuit REST API вместо JS SDK для получения сообщений.

Другие вопросы по тегам