Категорії

Facebook + Drupal - кроспостинг у публічні сторінки

16.01.2013
Автор:

 Із розвитком соціальних мереж замовники все частіше хочуть інтегрувати сайт з Facebook, Twitter, Google+ і т.д. При розробці одного з проектів постала необхідність реалізувати кроспостінг на публічну сторінку Facebook'а. Після ретельного вивчення API Facebook, та аналізу уже розроблених інструментів інтеграції для Drupal, було обрано метод, який я опишу в цьому пості.

Для початку потрібно створити публічну сторінку. Розробляючи її, необхідно вказати, до якого користувача вона привязана, бо кожна публічна сторінка  має бути привязана як мінімум до одного користувача, що має усі права адміна на налаштування публічної сторінки, потім користувач у налаштуваннях публічної сторінки може добавити ще користувачів які отримають доступ до неї. 

Створюємо додаток у Facebook, щоб реалізувати зв'язок соцмережі і нашого сайту. Встановлюємо і налаштовуємо пакет модулів Drupal for Facebook. У цьому пакеті модулів функціонал постінгу у публічні сторінки не реалізований, у ньому, проте, є чимало корисних функцій та модулів, які можна використовувати для різних задач пов'язаних з інтеграцією Drupal'а з Facebook`ом.

/**
 * Auto publish facebook.
 */
function internetdevels_autopublish_facebook($params) {
  if ($fb = _fb_api_init()) {
    try {
      $page_info = $fb->api('/' . FB_PAGE_ID . '?fields=access_token');
      $params['access_token'] = $page_info['access_token'];
      $fb->api('/' . FB_PAGE_ID . '/feed', 'POST', $params);
    }
    catch (FacebookApiException $e) {
      drupal_set_message(t('Not published to Facebook'));
    }
  }
}

Ось приклад функції яка буде виконувати постінг в FБ. Її можна викликати в hook_node_presave(), hook_node_insert() або в інших функціях залежності від нашої задачі.

  • $params - це масив, при допомозі якого передаємо контент для запощування, $params['description'] - опис, $params['picture'] - зображення, $params['name'] - назва посту і $params['link'] - посилання.
  • _fb_api_init() - функція модуля fb для перевірки чи залогіняний користувач в FB, також вона створює обєкт FACEBOOK.
  • FB_PAGE_ID - id публічної сторінки.  
  • $page_info - отримуємо токен для того щоб автором посту була публічна сторінка, а не ваший запис фейсбука.

Для автопостингу користувачу потрібно:

APP_ID - id додатку, 
REDIRECT_URI -  налаштовується в настройках додатку.

Додаткова інформація:
https://developers.facebook.com/docs 
http://www.drupalforfacebook.org

Голосів: 1 Рейтинг: 5

Також по темі

1

Бувають випадки, коли потрібно перенести якісь зміни в базі з одного сайту на інший, а переливати всю базу процес досить проблематичний, а інколи неможливий в силу появи на ньому нових матеріалів...

2

В статті буде розповідатись про те, як швидко налаштувати модуль Search API та ...

3

Трапляються завдання, для вирішення котрих необхідно створювати свою таблицю в базі даних і потім власними ж запитами взаємодіяти із цією таблицею. За таких обставин написання численних запитів...

4

В моей предыдущей статье рассматривались возможности профайлера PHP кода ...

5

В наші дні всі знають про такі ітернет магазини як  eBay, Amazon и.т.д.  Проте, мало...

Давайте обговоримо ваш проект у всіх деталях

Шукаєте хороших Drupal-розробників? А ми тут! Яким би ви хотіли бачити проект своєї мрії? Зв’яжіться з нами і розкажіть про це. Із задоволенням втілимо вашу мрію в життя!

Приєднуйтесь до людей, які вже підписалися!

Хочете бути в курсі важливих і цікавих речей, що відбуваються? Ми інформуватимемо Вас про розвиток та нові події в Drupal, дизайні, тестуванні та ін.

Відпишіться у будь-який час