# Автоматизация отправки тем Discourse на страницу Facebook с помощью Zapier

**URL:** https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611
**Category:** Community Building
**Created:** [08.Октябрь.2020 03:29:55 UTC](https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611 "2020-10-08T03:29:55Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Bcat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bcat/32/163148_2.png) [@Bcat](https://meta.discourse.org/u/Bcat)
#### Post date: [08.Октябрь.2020 03:29:55 UTC](https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611/1 "2020-10-08T03:29:55Z")

</div>

По этой теме есть много обсуждений, которые вы можете найти здесь: [Search results for 'zapier' - Discourse Meta](https://meta.discourse.org/search?q=zapier)  
Однако я хотел бы обсудить это подробнее.  
Вот мой скрипт в Zapier для публикации новых тем на странице Facebook.

- Я использую RSS вместо API Discourse в Zapier. Я пробовал использовать API, но возникла проблема: контент был слишком длинным, и я столкнулся с заблокированными URL-адресами. Поэтому я решил обрезать текст или сделать его кратким. В итоге я перешёл на RSS для описания.  
Я использую обрезку вместо краткого резюме (я пока использую API для создания краткого резюме и проверю его эффективность перед применением, но сначала обрезал текст).

**Шаги**

 ![ScreenShot_20201008094602](https://global.discourse-cdn.com/meta/original/3X/1/7/178e2cc9ed63df0412d4a36dd5e89d7cb046841c.png)  
 ![ScreenShot_20201008094650](https://global.discourse-cdn.com/meta/original/3X/d/b/db809c7cabe6846bc8acd0b8421de2d135a4430e.png)  
 ![ScreenShot_20201008095421](https://global.discourse-cdn.com/meta/original/3X/b/7/b7263fc45117d3db9da7569e8b5157e78bebfe62.png)  
 ![ScreenShot_20201008095440](https://global.discourse-cdn.com/meta/original/3X/1/7/17ef91a0a83d2f3951a53610d8b885250e252462.png)  
 ![ScreenShot_20201008095451](https://global.discourse-cdn.com/meta/original/3X/6/9/692310ea86392d4775f77e1f066c7a023251aba2.png)  
 ![ScreenShot_20201008095528](https://global.discourse-cdn.com/meta/original/3X/2/8/2881c0a43adb9626c9a749b2a462fa99ce076e1f.png)  
 ![ScreenShot_20201008100154](https://global.discourse-cdn.com/meta/original/3X/9/2/92021d248bec69c801f60522659262575c922af2.png)

**Результат**

 ![ScreenShot_20201008100320](https://global.discourse-cdn.com/meta/original/3X/4/4/44c249433bacf1bba43b91e1848bedf390f9b668.png)

> Ссылка на скрипт: [Anytime a feed is created in RSS by Zapier, page stream in Facebook Pages. | Zapier](https://zapier.com/shared/499976122811d184bf87ca54cbd2ff15d9f1c48e)

Как вы видите, я использую `https://api.thuvienmuasam.com/rss/?url=https://thuvienmuasam.com/latest.rss` вместо `https://thuvienmuasam.com/latest.rss`.

Поскольку описание содержит HTML-теги, я пробовал форматировать его в HTML и Markdown, но при публикации в Facebook текст всё равно отображался в исходном виде.  
Может быть, стоит попробовать запрос вроде `https://meta.discourse.org/latest.rss?excerpt=true` с параметром **excerpt=true**?

**Почему я не использую встроенный API?** Я не нашёл поля для короткого описания, только поле с полным контентом, но при публикации он отображался в виде необработанного HTML. Это трудно читать и слишком длинно. Я хочу, чтобы пользователи переходили на сайт для просмотра полной версии.

 ![image](https://global.discourse-cdn.com/meta/original/3X/1/0/1040f9f99885036a437216d4bb80cc69bc5befcb.png)

👉 **Есть ли другое решение для вывода статей с параметром `excerpt=true` при использовании USER API?**

---

<div class="post-metadata">

### Author: ![HAWK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hawk/32/86627_2.png) [@HAWK](https://meta.discourse.org/u/HAWK)
#### Post date: [08.Октябрь.2020 05:36:19 UTC](https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611/2 "2020-10-08T05:36:19Z")

</div>

@simon, скорее всего, это ваш человек. Он наш эксперт по Zapier.

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [08.Октябрь.2020 22:31:18 UTC](https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611/4 "2020-10-08T22:31:18Z")

</div>

> [@Bcat](#):
>
> Есть ли какое-либо другое решение для вывода статей с параметром `excerpt = true` при использовании USER API?

Краткие содержания тем не передаются в Zapier через официальную интеграцию Zapier с Discourse. Также краткие содержания не отправляются из Discourse, если вы подключаете веб-хук Discourse к Zapier, добавляя его в триггер веб-хука (подробности о настройке этого процесса можно найти здесь: [Trigger a Zapier task with Discourse Webhooks](https://meta.discourse.org/t/discourse-webhooks-and-zapier/56753)). Однако вы можете создавать краткие содержания из необработанного содержимого поста непосредственно в Zapier. Вот как я настроил это с помощью триггера «Новый пост в Discourse»:

Сначала настройте триггер «Новый пост в Discourse». Подробная информация о настройке доступна здесь: [Use the Zapier Discourse Zap Templates](https://meta.discourse.org/t/using-the-zapier-discourse-zap-templates/121603). После конфигурации шаг триггера должен выглядеть примерно так:

 ![image](https://global.discourse-cdn.com/meta/original/3X/4/6/461137b132aae976ca0edb06ccbffdb1f1b6d10f.png)

Затем добавьте шаг «Formatter by Zapier». Выберите событие «Текст». В опции «Преобразование» выберите «Обрезать». В качестве входных данных укажите «Необработанное содержимое» из вашего шага триггера и установите значение «Макс. длина» на количество символов, которое вы хотите отображать в посте. После конфигурации шаг «Текст» должен выглядеть примерно так:

 ![image](https://global.discourse-cdn.com/meta/original/3X/6/2/62bef174668a8fec4656ff4194d812aaf5c08903.png)

В финальном шаге действия «Создать публикацию на странице Facebook» выберите необработанное значение, возвращаемое из шага «Текст»:

 ![image](https://global.discourse-cdn.com/meta/original/3X/5/1/511c228fc63dadd909f7ee791e101a18082ea1ca.png)

Обратите внимание, что если вы используете либо официальную интеграцию Discourse, либо веб-хук Discourse вместо RSS-канала, постоянная ссылка на тему не будет установлена автоматически. Вы можете сформировать постоянную ссылку в поле ввода «URL ссылки» шага действия, используя slug темы и ID темы, передаваемые из вашего начального шага триггера:

 ![image](https://global.discourse-cdn.com/meta/original/3X/a/8/a8a6ccc597f83ce4c1fa84dc1b19c4fc32358937.png)

Подробности о создании постоянной ссылки, а также о добавлении шага фильтрации приведены в этой теме: [Use the Zapier Discourse Zap Templates](https://meta.discourse.org/t/using-the-zapier-discourse-zap-templates/121603). В этом руководстве не описано, как обрезать необработанное содержимое поста. Эта информация полезна, поэтому я добавлю её туда.

Описанный мной подход также работает при подключении веб-хука Discourse к Zapier с помощью триггера веб-хука Zapier.

---

<div class="post-metadata">

### Author: ![Bcat](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bcat/32/163148_2.png) [@Bcat](https://meta.discourse.org/u/Bcat)
#### Post date: [09.Октябрь.2020 01:32:24 UTC](https://meta.discourse.org/t/automate-sending-discourse-topic-to-facebook-fanpage-with-zapier/166611/5 "2020-10-09T01:32:24Z")

</div>

Спасибо большое, я также следовал вашему предыдущему посту о том, что конфигурация была успешной.  
Но для кастомизации я думаю, что URL-адрес вроде [https://api.thuvienmuasam.com/rss/?url=https://meta.discourse.org/latest.rss](https://api.thuvienmuasam.com/rss/?url=https://meta.discourse.org/latest.rss) поможет мне с более персональной настройкой.
