http://channy.creation.net/project/twi2me/code.html

1. 요구 사항

  • PHP 5.0+ 및 Cron 작업 환경
  • Twitter API 및 JSON, Me2 PHP 라이브러리

2. 서비스 단계

  1. Me2day 애플리케이션키를 발급 받고 자신의 사용자키를 환경 설정 화면에서 발급 받는다.
  2. Twitter API 및 JSON, Me2 PHP 라이브러리를 다운로드 받는다.
  3. 아래 소스 코드에 애플리케이션 키, 사용자키, 트위터 아이디 등을 설정한다.
    01.#!/usr/bin/php
    02.<?php
    03.// Include library
    04.require_once("lib/twitter.lib.php");
    05.require_once("lib/JSON.php");
    06.require_once("lib/Me2.php");
    07. 
    08.//Account information
    09.Me2Api::$applicationKey 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx'// application key
    10.$me2_id new Me2AuthenticatedUser('channy''xxxxxxxxx'); // user key
    11.$twitter_id 'channyun';
    12. 
    13.// Setting up JSON and Twitter Library
    14.$json new Services_JSON();
    15.$twitter new Twitter($twitter_id,'');
    16. 
    17.$twitter_messages $twitter->getUserTimeline('json'$twitter_id);
    18.$result $json->decode($twitter_messages);
    19. 
    20.// catching last job time
    21.$last_job_timestrtotime("-10 minute")."\n";
    22. 
    23.foreach($result as $value) {
    24.// Writing messages that written in more than last job time.
    25.if($last_job_time strtotime($value->created_at)) {
    26.$post $me2_id->post(twitter_parse($value->text), 'twitter', 9);
    27.}
    28.}
    29. 
    30. 
    31.// Parsing twitter text into me2day syntax
    32.function twitter_parse($str) {
    33.$str=explode("\n",$str);
    34.$str=implode("\n ",$str);
    35.$str=" ".$str;
    36. 
    37.// case of urls
    38.$str eregi_replace">http://([a-z0-9\_\-\.\/\~\@\?\=\;\&\#\-]+)",">\"http://\\1\":"$str);
    39.$str eregi_replace"\(http://([a-z0-9\_\-\.\/\~\@\?\=\;\&\#\-]+)\)","(\"http://\\1\":http://\\1 )"$str);
    40.$str eregi_replace"  http://([a-z0-9\_\-\.\/\~\@\?\=\;\&\#\-]+)","  \"http://\\1\":http://\\1 "$str);
    41.$str eregi_replacehttp://([a-z0-9\_\-\.\/\~\@\?\=\;\&\#\-]+)"" \"http://\\1\":http://\\1 "$str);
    42.// case of replies
    43.$str eregi_replace(" (@[a-z0-9-]{1,})"" \"\\1\":http://twitter.com/\\1 ",$str);
    44.$str eregi_replace("com/@""com/"$str);
    45.// case of hashtag
    46.$str eregi_replace(" (#[a-z0-9-]{1,})"" \"\\1\":http://search.twitter.com/search?q=\\1 "$str);
    47. 
    48.return $str;
    49.}
    50.?>
  4. Cron 작업에 아래와 같이 10분에 한번씩 작업을 걸어둔다.
    1.0,10,20,30,40,50 * * * * /project/twi2me/cron.php&

+ Recent posts