YDN , Yahoo Developer Network 의 약자이다.
예전에 pipe 를 잠깐 써봤던 것이 생각난다.
아주 간단한 RSS 를 불러와서 최신글을 뿌려주는 간단한 pipe.

twitter @ydnkr 에서 본 http://ydnkrblog.com/blog/?p=582 YQL 소개 동영상.
여러 서비스들의 오픈API 를 아주 간단(?)하게 쓸 수 있다.
오호! 그래?  그럼 테스트를 안 해볼 수 없지.

http://developer.yahoo.com/yql/
YQL 은 지난 7월경에 나온듯 하다. 그동안 모르고 있었다.(다른곳에 한눈팔아 미처 못 봤겠지)
사실은 트위터 오픈API 를 이용해서 뭔가 만들려고 했었는데. 마침 YQL 이 눈에 띄었다.
(결과적으로 이런 행운이...)

YQL console 이라는 것이 있어, 직접 쿼리(?)를 날려 테스트 해볼 수 있다.
http://developer.yahoo.com/yql/console/

그 부분은 동영상에서도 소개가 되어 있으니 일단 넘어가고.
바로 트위터에 포스팅 하기를 실험해 봤다.(약간의 삽질기도 있다)

YQL 콘솔상에서는 다음과 같은 쿼리를 날린다.
이런 쿼리이다.
use 'http://yql.1day1.org/yql-twitter-status.xml' as table; insert into table (username,password,status) values('username','password','YQL-twitter test. 22');
자신의 트위터 아이디/암호/내용을 넣으면  트위터에 포스팅이 된다.


1. YOS , php SDK 를 이용하려다 실패.( & 보류 )
자세한 사항은 자세히 보기로...
(그에 대한 삽질기록은 http://t.1day1.org/post/177433640 )

2. YOS 가 curl 쓴다면, 난 직접 쓰지뭐.
YOS 가 curl 을 쓴다기에 직접 써보기로 했다.

file_get_contents , simplexml_load_file 같은 php 의 함수를 이용할 수도 있지만,
INSERT/UPDATE/DELETE 등의 쿼리는 POST 로 데이터를 넘겨야 하는 것 같다.
그래서 해당 함수들은 사용할수가 없다. 물론 socket 열어서 직접 post 로 넘기면 되지만.
우린 복잡한거 싫어하잖아요. 간단하게 해야 Cool 하죠. ^^

암튼 curl 을 쓰기로 했다.

우선 완성된 샘플 주소이다.(이 주소는 계속 유지 되지 않습니다.)
http://yql.1day1.org/yql-twitter.php


curl 을 이용한 방법의 핵심부분의 코드이다.

$query = "use 'http://yql.1day1.org/yql-twitter-status.xml' as table;
    insert into table (username,password,status)
    values('" . $_POST['username'] . "','" . $_POST['password'] . "','" . $_POST['status'] . "'); ";

$postData = 'q=' . urlencode($query). '&format=xml';
$yql_uri = 'http://query.yahooapis.com/v1/public/yql';


$options_add = array(
    CURLOPT_URL => $yql_uri  ,
    CURLOPT_REFERER => $referUrl ,
   
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => $postData ,
);

$ch = curl_init( );
curl_setopt_array( $ch, $options_add );

$content = curl_exec( $ch );

curl_close( $ch );
보내고자 하는 쿼리를 
http://query.yahooapis.com/v1/public/yql
으로
$postData = 'q=' . urlencode($query). '&format=xml';
post 형식으로 보내는 것이다.



YOS 가 된다면, 그게 좀더 편하겠지만, curl 로 직접 처리하는 것도 괜찮아 보인다.

YQL 의 매력적인 부분은 자신의 서비스를 오픈테이블(opentable?) 로 공개해서 사용하게 할 수 있다는 것이다. YQL 에서 쓸 수 있도록 따로 등록절차가 필요한지 모르겠지만, 서비스 개발자에게 상당한 자유도,편의성을 제공하는 것 같다.


반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,