Загрузка обновлений статуса Facebook и Twitter в базу данных SQL через страницу Coldfusion - PullRequest
1 голос
/ 16 августа 2010

Я хотел бы создать страницу Coldfusion, которая будет извлекать обновления статуса из моей учетной записи Facebook и Twitter и помещать их в базу данных SQL вместе с их временными метками. Всякий раз, когда я запускаю эту страницу, она должна получать информацию только после самой последней отметки времени, уже имеющейся в базе данных.

Я надеюсь, что это не будет слишком плохо, потому что все, что меня интересует, это просто обновления статуса и их отметки времени. В конце концов, я хотел бы получить другие вещи, такие как изображения и тому подобное, но для первого теста достаточно просто обновления статуса. У кого-нибудь есть примеры кода и / или указатели, которые могут помочь мне в этом деле?

Мне бы хотелось, чтобы какая-либо информация относилась к текущей версии API (Twitter с oAuth и открытым графиком Facebook), если они необходимы. Некоторые решения, которые я видел, включают создание приложения для Twitter и Facebook для взаимодействия с API; это необходимо, если все, что я хочу сделать, это получить доступ к подмножеству информации о моей учетной записи? Заранее спасибо!

Ответы [ 3 ]

1 голос
/ 16 августа 2010

Используйте тег cffeed для получения RSS-каналов из Twitter и Facebook.Сохраните дату последнего сканирования канала где-нибудь (переменная приложения или база данных) и переберите записи канала.Любая запись старше последнего сканирования игнорируется, все остальное фиксируется.Обязательно закройте cffeed в try / catch, так как он будет выдавать ошибки, если служба не работает (хм, твиттер). Как упоминалось в других ответах, настройте ее как запланированное задание.

1 голос
/ 16 августа 2010

Я бы прочитал max(insertDate) из базы данных и, если API позволяет вам, запрашивать обновления только с этой даты.Затем вставьте эти обновления.В следующий раз, когда вы запустите, вам просто нужно получить max() последней группы обновлений, прежде чем вызывать следующую группу.

Вы можете запускать его каждые 5 минут, используя запланированное задание ColdFusion.

Как вы общаетесь с API, обычно используется <cfhttp />.Одна вещь, которую я всегда делаю, это регистрирует каждый запрос и ответ, либо в текстовом файле, либо в базе данных.Это может быть неоценимо при устранении неисправностей.

Надеюсь, это поможет.

0 голосов
/ 16 августа 2010

Другой подход, чем вы предлагаете, но он работал для нас. У нас было два живых события, на которых мы просили людей публиковать сообщения на специальной фан-странице Facebook или в Twitter с хэштегом, который мы одобрили для мероприятия в реальном времени. Затем мы просто загрузили и проанализировали RSS-каналы страницы FB и результаты поиска в Twitter, извлекая то, что было новым, за короткий промежуток времени ... Я думаю, что это происходило примерно каждые три минуты. CFFEED был немного подвержен ошибкам и занимал много сил, просто делал CFHTTP-получение RSS-каналов, а затем обрабатывал элемент структуры CFHTTP.filecontent, пока XML работал нормально

.LAG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...