Привет, Penar, спасибо за отличный плагин, он действительно будет очень полезен! Я только что его протестировал, и настройка прошла гладко. Однако я заметил несколько проблем:
Когда я создаю тему с вебинаром, появляется эта ошибка, но если обновить страницу, тема всё же создаётся, и всё, кажется, в порядке.
Для информации: фон обратного отсчёта не соответствует теме, мне пришлось изменить его, чтобы он подходил к моей тёмной теме, так как изначально он был просто белым:
Вопрос: когда кто-то регистрируется, получит ли он уведомление только на сайте и не получит ли письмо по электронной почте? Или письмо будет отправлено, если человек в данный момент не находится на сайте?
Вы выполнили все шаги по подписке на событие? Это вебхук от API Zoom, который используется для замены кнопки «Зарегистрироваться» на кнопку «Присоединиться сейчас», как только событие начинается.
Они получат личное сообщение (ЛС), что означает, что они получат письмо, если в их настройках указано, что ЛС должны отправляться на электронную почту.
Я сделал всё это. Возможно, это глупый вопрос, но в content security policy script src у вас указано https://source.zoom.us. Должно ли слово source быть заменено на что-то другое? Возможно, на название приложения?
Это должно быть https://yoursite.com/zoom/webhooks/webinars.json — я вижу, что в моих инструкциях выше не хватает этой детали, извините за это. Надеюсь, это будет недостающим элементом.
Я, возможно, не очень четко выразился. Просто для уточнения: проблема с ошибкой «Имя пользователя и т. д. не могут быть пустыми» по-прежнему сохраняется, хотя в логах теперь ничего нет. Всё остальное работает нормально.
Я разобрался в этой проблеме, @davidkingham. Похоже, что в созданном вами в Zoom вебинаре не указан ведущий, либо API не возвращает информацию о нём. Плагин пытается сопоставить учётную запись пользователя Zoom (по электронной почте) с учётной записью в Discourse; если такая учётная запись не найдена, в Discourse создаётся временный пользователь.
Либо в вашем вебинаре не назначен ведущий, либо при вызове API для получения объекта пользователя ведущего возвращается пустой результат.
Это имеет смысл, я использовал разные адреса электронной почты для каждого. Я изменил адрес электронной почты в Zoom, чтобы он совпадал с моим пользователем в Discourse. Это помогло отображать предстоящие вебинары в списке при добавлении вебинара к теме, чего раньше не происходило, но ошибка «…не может быть пустым» всё ещё появляется. Нужно ли, чтобы адрес электронной почты совпадал с пользователем, создающим тему, или с адресом электронной почты администратора?
Также, если я удаляю тему, чтобы попробовать снова, система не позволяет добавить этот вебинар к другой теме, так как считает, что вебинар уже связан с другой темой, даже несмотря на то, что тема была удалена.
Мне интересно, получаете ли вы вообще ответное письмо от Zoom для пользователя. Возможно, у API-ключа не установлены правильные области доступа (scopes)?
Да, подтверждено. Возможно, скоро будет исправление для этой проблемы. На данный момент вы можете перейти к удаленной теме и в меню администратора темы выбрать «Удалить вебинар».
Это довольно ограничительно… Насколько мне известно, совершается всего два вызова API: один для получения информации о вебинаре, а другой — для получения данных о ведущем вебинара (на самом деле, в идеальном мире данные о ведущем должны были быть включены в первый вызов API).
Я задал этот вопрос здесь, но, судя по другим вопросам, я не очень надеюсь, что они помогут.
Небольшое предложение по поводу плагина: я хотел бы, чтобы список панелей отображался так же, как и список ведущего. То есть аватар под заголовком, а имя рядом с ним. Сейчас панель не очень заметна, так как есть только маленькая аватарка.