В наш час, якщо сайт не має власної сторінки в одній із соцмереж, то він вважається неповноцінним і не може претендувати на високі рейтинги. Адже величезна кількість людей зараз просто живуть у соцмережах і слідкують за новинами сайтів прямо звідти. Тому, щоб полегшити собі життя і не робити подвійну роботу з розміщення матеріалів у себе на сайті і на сторінці сайту в соцмережі, потрібно налаштувати репостинг. Тобто коли ви публікуєте матеріал у себе на сайті, він автоматично публікується і на сторінці сайту у соціальній мережі. Сьогодні я вам розповім, як налаштувати репостинг з сайту Drupal у Facebook.
Отож, розпочнемо. Спочатку потрібно створити свій аплікейшн (New App) https://developers.facebook.com.
Обираємо “Веб-сторінка”. Далі Facebook нам запропонує назвати свій аплікейшн. Потім будуть пропонуватися коди для вставок на сайт, нас це на даний момент не цікавить, заповнюємо лише адресу сайту. Після створення ви побачите головну сторінку аплікейшену.
На цій сторінці ви побачите App ID (id вашого аплікейшена, який в майбутньому ми будемо використовувати) і App Secret (секретний ключ аплікейшена).
Далі переходимо на сторінку “Налаштування” (“Settings”).
Тут ми заповнюємо “Namespace”, вписуємо домен сайту, свій email і адресу сайту. Зберігаємо. Якщо у вас немає блоку з адресою сайту,тоді натискаємо “+ Add Platform” і обираємо “Веб-сторінка”.
Далі переходимо на сторінку “Status & Review” і вмикаємо наш аплікейшн.
З налаштуванням у Facebook ми закінчили. Наступним кроком буде налаштувати Drupal. Для цього нам потрібен модуль Facebook Autopost і facebook-php-sdk. Вмикаємо модуль Facebook Autopost, а facebook-php-sdk поміщаємо в папку libraries. Переходимо на сторінку налаштування модуля /admin/config/services/fbautopost.
Вставляємо App ID і App Secret зі створеної сторінки аплікейшена у Facebook. Зберігаємо і логінимося. Після того як ви залогінитеся, з’явиться можливість обрати сторінку, куди постити.
Також потрібно на сторінці admin/people/permissions надати права для додатку Facebook Autopost.
Далі, для тих хто хоче мати можливість обирати, які матеріали постити, потрібно додати галочку “Опублікувати на Facebook”. Для цього в типі матеріалу, котрий потрібно опублікувати, додаємо поле (машинну назву бажано не змінювати).
Також варто заглянути на сторінку налаштування типів публікації в Facebook admin/structure/facebook-publications. Тут ви можете налаштувати типи публікації. До речі, при створенні рулсів ми будемо використовувати поля з вибраного типу, котрі присутні на цій сторінці.
Рулси
Для того щоб усе працювало, потрібно ще створити рулсу admin/config/workflow/rules. Назвемо її “Опублікувати на Facebook після оновлення матеріалу”.
Events
Conditions
В conditions ми обираємо, який тип контенту будемо постити і робимо перевірку, чи стоїть галочка у нашому полі “Опублікувати на Facebook”, для автоматичного постингу цю перевірку можемо не робити і галочку не створювати.
Actions
Створюємо новий entity для переведення нашого типу матеріалу в тип, котрий можна буде постити в Facebook.
Далі конвертуємо поля нашого типу матеріалу в відповідні поля типу матеріалу для постингу.
Після конвертації потрібних полів відбувається головне — постимо на Facebook. Створюємо екшен “Publish to Facebook page”.
І для того щоб ми могли контролювати, що постимо, зберігаємо наше entity. Ось і все.
А зараз давайте поговоримо про помилки.
Найчастіша помилка “Insufficient permissions to publish on page with id xxxxxxxxxxxx. Please check your configuration.” Тут просто потрібно перевірити, чи ви правильно вказали сторінку для репостингу в налаштуваннях /admin/config/services/fbautopost і сторінку, куди постити в рулсі.