Чёрт, я добавлю этот плагин обратно при следующей сборке, и надеюсь, это была просто какая-то временная ерунда. Спасибо ещё раз и извините за пустую трату времени!
Не переживайте, всегда полезно время от времени заглянуть в этот плагин.
Кстати, я обновил структуру плагина и внес небольшую правку в переопределения, чтобы учесть однострочное изменение в ядре (хотя до этого всё работало в любом случае):
Изменение в ядре: discourse/lib/oneboxer.rb на ветке main · discourse/discourse (github.com)
Новый коммит в плагин: УЛУЧШЕНИЕ: структура плагина, небольшая правка для синхронизации с ядром · merefield/discourse-onebox-assistant@4c1d9bd (github.com)
Обновление для совместимости с изменением в Discourse, нарушающим обратную совместимость:
Изменение, нарушающее обратную совместимость: DEV: Don’t patch Sanitize::Config · discourse/discourse@46176b7 · GitHub
Я пытаюсь настроить Onebox для этого сайта:
Однако при использовании стандартного Onebox в Discourse я получаю ошибку 403:
Я подтвердил, что на embed.rocks/try он работает и выдаёт Onebox:
Поэтому я установил этот плагин и настроил его, как указано в первом посте, используя аккаунт Embed.rocks. На других сайтах всё работает отлично, но для hinz.org.nz Onebox не появляется, и в консоли я вижу следующее:
![]()
Я прошёл по этой теме, но не нашёл ничего полезного. Есть какие-то предложения?
Это не Onebox. Onebox специфичен для Discourse, поэтому это не является достаточным доказательством. Embed.rocks использует множество специальных случаев и обходных путей, которые не являются точной копией того, что делает Discourse. Мы не используем его для генерации карточек, поэтому для нас это неактуально, и это означает, что вы не можете использовать его как надёжный тест. Мы используем embed.rocks только для возврата исходного кода страницы.
Проверяли ли вы ссылку в инструменте проверки Open Graph от Facebook Meta для разработчиков? Есть ли какие-либо предупреждения?
Вдохновившись вашим постом, я потратил часть своего воскресенья на рефакторинг плагина, так как, похоже, gem Onebox был перенесен в ядро.
Хотя я не думаю, что это была ваша проблема, поскольку мои переопределения, как мне казалось, работали, теперь они стали более тщательными.
Если бы вы могли обновить и протестировать это (версия 3.0), я был бы признателен:
Привет!
Я включил плагин, но Facebook oneboxes не работают. Это нормально? Я что-то неправильно настроил в плагине?
edit: curl возвращает известное сообщение «Войдите или зарегистрируйтесь, чтобы просмотреть», и блок не создаётся.
Значит, embed.rocks использует IP-адреса, у которых недостаточно высокий рейтинг для Facebook? ![]()
Существует ли формат встраивания Facebook с ключом API Facebook?
Уууух…
Мы точно можем встраивать некоторые посты из Facebook (только из публичных профилей пользователей, а не из групп)… Также используется ключ API для встраивания постов из Instagram…
Но я не знаю ничего другого. Однако в панели разработчика есть кое-что, что представляет собой настоящий лабиринт ![]()
Вы уверены, что эта ссылка ведёт к публичной записи в Facebook?
Чтобы закрыть этот вопрос, который я совершенно забыл: да, пост был публичным.
Предпросмотры Facebook работали два года назад, а потом перестали, вероятно, из-за «недоверенного IP». Настройка их панели управления и поддержка функционала — это боль, и в итоге я перестал возиться с функциями Facebook на своём форуме. ![]()
Привет, @merefield, вот потенциально полезный фидбек.
Коротко: мне пришлось перезагрузить сервер (перезапустить Discourse), чтобы плагин начал использовать embed.rocks.
Я установил плагин на тестовый сервер для сайта, который обновляю. Ввёл свой API-ключ от embed.rocks. Включил плагин и установил галочку «всегда использовать прокси», но Oneboxes не обрабатывались.
Задача Sidekiq, похоже, тихо завершилась с ошибкой, после чего появилась новая запланированная задача — вероятно, повторная попытка?
В очередях Sidekiq ничего не блокировало работу Oneboxing, поэтому я проверил с командной строки, используя упомянутый выше «curl к сайту BBC», и это сработало. Так что я знал, что embed.rocks активен и распознаёт мои учётные данные.
Я попробовал отключить плагин — и Oneboxes снова заработали, как и должно быть, поскольку мой новый тестовый сервер ещё не попал в чёрный список.
Я снова включил плагин, но проблема осталась — Oneboxes больше не работали.
Наконец, я перезагрузил сервер, и всё заработало!
Наблюдается заметная задержка, поэтому я знаю, что Onebox проходит через embed.rocks, хотя, раздражает то, что панель управления embed.rocks, похоже, обновляется недостаточно регулярно (раз в месяц?), чтобы показать моё последнее использование их сервиса.
Так что, если коротко, похоже, что мне нужно было перезагрузить/перезапустить Discourse, чтобы плагин работал как ожидалось.
Я понимаю, что это звучит маловероятно, но я вполне уверен в наблюдаемом поведении. Не связано ли это с тем, что плагин monkey-patch-ит метод, и он «используется» даже до включения плагина?
В любом случае, сейчас всё работает, поэтому я просто решил поделиться этим странным наблюдением.
К сожалению, все ставки отменяются: плагину срочно требуется обновление для совместимости с последней версией кодовой базы Discourse. Я скоро займусь этим.
Рад, что у вас всё работает, и спасибо за интересные наблюдения!
Я определённо рассмотрю pull-реквесты для добавления поддержки альтернативных сервисов, но Embed.rocks выглядит очень выгодным решением по сравнению с конкурентами?
Честно говоря, я рассматриваю использование embed.rocks только тогда, когда нужно заново обработать множество постов. Ежедневный объём эмбедов обычно в порядке.
Как вы и сказали, это отличное соотношение цены и качества.
Хорошо это знать.
Отличная работа, как всегда!
Вчера я синхронизировался с основным кодом и отправил обновление:
Но, честно говоря, большая часть работы свелась к приведению кода к единому формату, изменений очень мало.
Привет! Недавно я мигрировал свой форум с vBulletin на Discourse. Мой форум использует множество встроенных видео с YouTube и Vimeo. Я установил плагин, чтобы избежать блокировок, и он отлично работает с YouTube, но не отображает постер для Vimeo — показывается только плеер на чёрном фоне.
На сайте embed.rocks при проверке видео с Vimeo я получаю ошибку 429. Я проверял в разных браузерах и у разных провайдеров, но результат везде одинаковый.
Это проблема только у меня или это какой-то системный сбой?
Вы обращались в их службу поддержки?
Вы имеете в виду службу поддержки Vimeo?
Нет, embed.rocks
Ах… Спасибо! Я думал, что это ваш API.
На embed.rocks я вижу только адрес электронной почты и нет ссылки на поддержку.
Я попробую написать им, но на данный момент я просто хочу уточнить, работает ли вставка видео с Vimeo для других пользователей, использующих API embed.rocks, или это проблема, специфичная для меня?
Надеюсь, кто-то в этой теме сможет проверить функциональность на своём Discourse.
Вы видите превью этого видео? Похоже, здесь Vimeo тоже не отображается…
https://vimeo.com/103076330
Я думаю, что meta.discourse не использует API embed.rocks, так что, вероятно, это не проблема Onebox Assistant?





