Автоматическое обновление статуса в контакте при помощи twitter – twitter 2 В Контакте

Twitter2Vkontakte

Twitter2Vkontakte

Сначала я хотел написать свой скрипт для трансляции твитов в контакт. Но как нормальный человек я решил не изобретать велосипед, а начал искать готовые решения. Во время поиска я нашел два варианта:

  1. Объединяем статусы twitter.com и vkontakte.ru
  2. Объединяем В Контакте и Twitter в PHP

Первый скрипт у меня вообще не заработал, а второй работал слишком медленно, поскольку твиты брались из RSS. Я объединил эти два скрипта. Благодаря использованию библиотеки twitterPHP (разработка David Billingham) которая использовалась в первом скрипте и использованию UserAPI В Контакте (второй скрипт) удалось достичь мгновенного обновления статуса в контакте. Идея насчет сохранения последнего статуса оказалась очень удачной. Поэтому я решил оставить эту функцию.

Для автоматического обновления статуса в контакте вам нужно дать задание вашему планировщику. Для UNIX хостинга это – cron. Это может выглядеть так:

1 * * * *  /usr/bin/lynx http://example.com/ttv/twitterToVKontakte.php

или так

1 * * * * /usr/bin/wget -O - -q -t 1 http://www.example.com/twitterToVKontakte.php

Настройка проводиться в файле twitterToVKontakte.php. Собственно все.

  Twitter2Vkontakte (4.1 KiB, 298 hits)

15 Комментариев to “Автоматическое обновление статуса в контакте при помощи twitter – twitter 2 В Контакте”

  1. Kichrum пишет:

    Если у кого-то ошибка 267 строки твиттер-класса, просто закомментируйте ее:
    // curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

  2. artleg пишет:

    У меня файл twittertovkontakte.php просто не открывается, даже просто браузером. А лог ругается так:
    http://dumpz.org/14302/
    Это я дурак или просто баг/неправильная настройка хостинга?

    • Если Вы все правильно настроили в twitterToVKontakte.php то скорее всего дело в хостинге.

      • artleg пишет:

        А какие конкретно требования к хостингу?

        • Для работы скрипта необходима поддержка CURL и SimpleXML (они используются библиотекой twitterPHP). Исходя из вашего дампа можно сказать что библиотеки у вас есть, поскольку ошибка возникает уже после их использования. Но почемуто вы получаете из Интернета не XML документ, а HTML страницу (строка 178) котору не может обработать XML парсер.
          И мы прыходим опять к тому же, что либо вы не правильно настроили скрипт либо ваш хостинг как-то модифицирует данные. Если у Вас есть возможноть предоставьте дамп ответа Твиттера который используется в 279 строке файла twitter.class.php – переменная $response и тогда возможно все станет ясно :)

  3. Олег пишет:

    Спасибо. Отлично работает, на обычном десктопе с Ubuntu потребовалось лишь

    sudo apt-get install php5-cli php5-curl

    чтобы скрипт начал работать из терминала (веб-сервер ставить не хотелось, да)

    • Олег пишет:

      Полная инструкция для «чайников»:
      Устанавливаем пакеты (Ubuntu):
      sudo apt-get install php5-cli php5-curl
      Распаковываем архив в удобное место. Делаем:
      chmod 700 /путь/к/twitterToVKontakte.php
      Открываем twitterToVKontakte.php в текстовом редакторе, исправляем логины-пароли, и пишем самой первой строкой:
      #!/usr/bin/php
      Создаём себе собственный crontab (таблицу планировщика заданий):
      sudo crontab -u твойлогин -e
      пишем туда:
      # m  h dom mon dow   command
      */10 *     *   *   *    /путь/к/twitterToVKontakte.php
      Сохраняем. Теперь скрипт будет запускаться каждые 10 минут. Я пишу твиты не так часто, мне этого хватит. Можешь сделать чаще.
      Сохраняем, ждём 10 минут, видим изменившийся статус, радуемся.

    • Олег, спасибо за дополнение!

  4. Дмитрий пишет:

    Пробую на мастерхосте – из браузера открываю файл – пустой. В крон поставил – тоже ничего. Я ламер :) Проблема в хостинге?

  5. Kichrum пишет:

    Не знаю подробностей, но все сайты, которые предоставляли такую услугу, закрылись именно по причине бана IP серверов вконтактом. Даже на некоторых хостингах, которые использую я, достучатся до вконтакта уже нельзя.

Оставить комментарий

Security Code: