Rev. 2.73

최근 트위터로부터 유입되는 트래픽이 급증했습니다. 글 제목과 URL을 복사하고 붙여넣었을 뿐입니다. 하지만 요딴식의 트위팅은 정말 짜증나고 귀찮죠. 좀처럼 트위터에 시간을 할애하지 못하는 분들도 계실거고요. 그래서 PHP와 트위터 API를 이용하여 블로그에 포스팅하는 것과 동시에 트위터에도 포스팅되도록 만들었습니다. 아래는 PHP를 이용하여 트위터에 원격으로 포스팅하는 방법에 대하여 소개한 내용입니다.

curl -u 사용자명:암호 -d status="메시지" http://twitter.com/statuses/update.xml

아시다시피 트위터는 다양한 방식의 API를 제공합니다. 그 중에는 curl을 이용하여 트위터에 원격으로 포스팅할 수 있고 이것을 PHP로 작성하면 다음과 같습니다.

<?php
  // Set username and password
  $username = 'username';
  $password = 'password';
  // The message you want to send
  $message = 'is twittering from php using curl';
  // The twitter API address
  $url = 'http://twitter.com/statuses/update.xml';
  // Alternative JSON version
  // $url = 'http://twitter.com/statuses/update.json';
  // Set up and execute the curl process
  $curl_handle = curl_init();
  curl_setopt($curl_handle, CURLOPT_URL, "$url");
  curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
  curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl_handle, CURLOPT_POST, 1);
  curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
  curl_setopt($curl_handle, CURLOPT_USERPWD, "$username:$password");
  $buffer = curl_exec($curl_handle);
  curl_close($curl_handle);
  // check for success or failure
  if (empty($buffer)) {
    echo 'message';
  } else {
    echo 'success';
  }
?>

변수 $buffer에는 원격지 서버가 응답한 내용이 들어 있고 이것으로 성공 여부를 구분할 수 있습니다.

Comments

pubwich.png

PubwichDelicious, Facebook, Flickr, last.fm, ReaderNaut, Twitter, Vimeo, Youtube의 오픈 API를 이용하여 제공되는 컨텐츠 그리고 RSS 피드들이 단일페이지로 구성되는 인스턴트 웹사이트를 누구나 손쉽게 구축할 수 있있도록 만들어진 오픈소스 웹 애플리케이션입니다. 서로다른 SNS(소셜 네트워크 서비스)를 사용하는 자신 혹은 다른 사용자들의 포스팅을 일목요연하게 파악할 수 있습니다. Pubwich를 사용하기 위해서는 Apache서버와 PHP5, PEAR를 필요로 하며, config.php 파일을 조작하여 업로드하는 것만으로 설치가 완료됩니다. 외부로부터 가져온 자료는 캐싱되기 때문에 호출이 빠르고, 별도의 DB를 필요로하지 않으며, 테마를 설정할 수 있도록 설계 되어있습니다.

Comments

opengoo.png

OpenGooExtJS 자바스크립트 라이브러리를 기반으로 구축된 웹 오피스입니다. 생산성 향상, 협업, 의사소통, 팀 경영에 초점을 둔 토탈 솔루션입니다. 데시보드, 위젯, 노트, 문서, 프리젠테이션, 할 일 목록, 이메일, 달력, 연락처, 스프레드시트(곧 지원예정), 권한, 결제, 업무보고 등의 기능들을 갖추고 있으며, 생산되는 모든 자료는 철저하게 작업공간과 태그로 구분되어지는 시스템입니다. ZohoGoogle Apps와는 달리 오픈소스로 개발 되었기 때문에 소스를 다운로드하여 직접 설치하고 사용할 수 있습니다. Apache 2.0+, PHP 5.2+, MySQL 4.1+(InnoDB 사용가능) 환경을 필요로 하며, GPL3 라이센스를 따르고, ExtJS 외에도 ActiveCollab, Reece Calendar, Swift Mailer, Open Flash Chart, Slimey, FCKEditor, JSSoundKit, 그리고 PEAR 오픈소스 라이브러리들을 포함하고 있습니다.

직접 설치해 보았습니다.(계정/암호 : demo/demo) 소스를 받고 압축을 풀면 용량이 무려 20MB나 되더군요. 다소 어눌하지만 한글도 지원하고 애플리케이션의 원격 업데이트도 가능합니다. 중/소규모 사업장에서 메인 그룹웨어로 사용하기에도 손색없어 보이며, 무엇보다도 오픈소스라는 점이 가장 마음에 듭니다. 단점이라면 화면 구성이나 그래픽 디자인이 참 개발자스럽다는 정도입니다.

Comments