[Bitrix] Автоматический постинг в Twitter

Возврат к списку

twitter.jpg

В данной статье мы рассмотрим настройку автоматического постинга твитов на базе CMS 1c-Bitrix.

  • Переходим на страницу https://dev.twitter.com Войдите в систему под логином и паролем.

    входТвиттер.jpg

  • В разделе My applications создайте новое приложение "Create New App"

    CreateNewApp.jpg

    Введите название приложения (Name), описание приложения (Description), ссылку на веб-сайт вашего приложения (Website), ссылка на страницу с контактными данным (Callback URL) - это опция для указания страницы обратной связи, напр. "http://zircool.ru/feedback/". После заполнения всех необходмых данных, прочитайте правила и согласитесь (Yes, I agree), если согласны :), и нажмите на "Create your Twitter application" (создать моё твиттер-приложение).

  • После того, как вы создали приложение, вас перекинет на страницу с данными созданного приложения. Выберите вкладку "Settings" (настройки).

    SettingsNewApp.jpg

    На вкладке "Permission" выберите "Read, Write and Access direct messages" или другой подходящий вариант.Read - приложение только читает, Read and Write - читает и записывает, Read, Write and Access direct messages - читает, записывает и может напрямую добавлять сообщения в твит. (!) Внимание! Доступ к Read and Write и Read, Write and Access direct messages доступен для профилей, у которых указан номер телефона.

    PermissionNewApp.jpg

  • После того, как вы изменили настройки, вернитесь на вкладку "API Keys". И кликните по кнопке "Create my access token" для генерации ключей доступа.

    CreateTokenNewApp.jpg

    Сгенерированные ключи необходимы для работы с API Twitter.

    APIKeysNewApp.png

  • Итак, приложение зарегистрировали, ключи сгенерировали. Следующим этапом качаем с GitHub и подключаем PHP библиотеку для работы с API Twitter.

    GitHub.jpg

  • На сайте, в папке bitrix/php_interface/ если не создана папке include (для удобства) создаем папку и заливаем туда папку twitteroauth. Подключаем библиотеку в файле init.php

    Здесь же вставляем код:

    Предварительно указав данные констант: API_KEY, API_SECRET, OAUTH_TOKEN, OAUTH_SECRET и изменив условие, в данном примере в Твиттер мы постим запись при создании элемента в инф. блоке, ID которого равен 3 (инф. блок постов моего блога) , если вы хотите постить все создаваемые записи, удалите данное условие.

Процесс подключения закончен =) Теперь после создании новой записи в инф. блоке будет выполняться событие, которое генерирует запись в Twitter с названием поста и её ссылкой (из настроек инф. блока).

TwitterPost.jpg


В архиве, прикрепленном к статье, в файле for_init.php хранится код события, который необходимо перенести в init.php и библиотека twitteroauth. Желаю удачи в подключении, все вопросы можно задавать в комментариях.



Artem87Artem8709.06.2014 в 02:08
0
Zircool спасибо за статью. По хорошему все это дело обернуть с модуль и выложить в маркетплэйс.
ответная реплика
adminadmin09.06.2014 в 02:10
0
Планирую добавить еще некий функционал в постинг и все обернем в модуль и выложим в маркет.
ответная реплика
Artem87Artem8709.06.2014 в 02:10 Развернуть
adminadmin09.06.2014 в 02:15
0
В планах:
1. Сокращать ссылки через bit.ly
2. Постинг изображений
ответная реплика
16.09.2014 в 09:56
0
Давно хотел прочесть что ни будь подобное. Для личного пользования мне нет необходимости в этом, зарабатывать на тви стало все труднее... А вот понять как работают другие это да. Спасибо, не удивили но хотя бы раставили все точки над Ъ.
ответная реплика
АндрейАндрей16.09.2014 в 13:53
0
Так и не понял, зачем это всё надо? Тут для меня трудно править коды... Я лучше по старинке,-ручками пост накатаю!
ответная реплика
adminadmin16.09.2014 в 19:14
0
Если массово добавляются пост блог, то удобнее автоматически, нежели пальцы в кровь стирать
ответная реплика
leona188leona18818.09.2014 в 13:43
0
Спасибо, очень полезная статья, давно искал такое. Мне уже честно просто надоело вручную постить, это очень долго, а тут сел, сделал и все, дело в шляпе. Спасибо за нужную статью, хотелось бы попробовать также вконтакте.
ответная реплика
Lesha07Lesha0718.09.2014 в 17:10
0
Попробовал ради того, чтобы убедиться, что смогу это сделать :) Многим может быть полезно.
ответная реплика
Кирилл АнуфриевКирилл Ануфриев01.10.2014 в 17:01
0
Достаточно полезная информация, а главное, что всё более-менее разборчиво. Только вот в кодах я не слишком-то и шарю.
ответная реплика
НинельНинель01.10.2014 в 21:07
0
А вот это действительно для меня очень полезная информация, спасибо вам большое за подробный инструктаж. Я достаточно часто задавалась вопросом как можно максимально быстро и просто совершить такую операцию. Теперь знаю, сейчас буду пробовать.
ответная реплика
СтаниславСтанислав05.08.2015 в 18:39
0
Добрый день, скажите пожалуйста, почему вы не использовали OnBeforeIBlockElementAddHandler, а именно After? И ещё почему CIBlockElement::GetList, а не CIBlockElement::GetByID?
ответная реплика
adminadmin05.08.2015 в 23:51
0
В OnBeforeIBlockElementAddHandler может быть отменено создание записи, используя OnAfterIBlockElementAdd я уверен что запись добавлена.

Использовал CIBlockElement::GetList по привычке, если посмотрите ядро, то CIBlockElement::GetByID, тот же GetList только с фильтром по ID
ответная реплика


Возврат к списку