본문 바로가기

IT-Consultant

Facebook FQL 사용하기

 

Facebook 의 SQL 격인 FQL API 호출  방법에 대해 정리해 보도록 하겠습니다.

Curl,PHP,Python 등 여러가지 API 가 지원되지만 여기에서는 간단하게 브라우저로 조회할 수있는

방법에 대해 설명합니다.

 

1>자기만의 어플리케이션을 만듭니다.

어플리케이션을 만들기 위해서는 다음의 링크를 클릭합니다.

http://developers.facebook.com/setup/

 

 

SiteName 과 Site URL 을 입력합니다.

주의 하실 점은 Site_URL 이 나중에 Access_Token 생성단계에서 Redirect 되는 URL 이기 때문에

Valid 즉 접근 가능한 URL 로 입력 하시기 바랍니다.

 

저는 제 블로그 정보로 입력을 했습니다.

정상적으로 등록이 되면 다음과 같은 화면이 나옵니다.



 

AppID,APPScrert 는 Access_Token 생성시 파라미터로 사용되는 정보이므로  잘 메모해 두시기 바랍니다.

 

2>어플리케이션의 접근항목 정보를 설정하고 code 정보를 얻는 단계

https://graph.facebook.com/oauth/authorize?client_id=appid&redirect_uri=appurl&scope=yourscope

 

파라미터에 대한 설명은 다음과 같습니다.

- client_id 어플리케이션의 App ID

- redirect_url : 어플리케이션의 URL

- scope : 권한을 얻고자 하는 항목

 

권한정보는 다음 페이지에서 확인 가능합니다.

http://developers.facebook.com/docs/authentication/permissions

 

이렇게 생성한 URL 로 다음과 같이 호출을 합니다.

https://graph.facebook.com/oauth/authorize?client_id=152689701410358&redirect_uri=http://blog.naver.com/elastica/&scope=read_requests,user_events,friends_events,user_about_me,friends_about_me,user_activities,friends_activities,offline_access

 

그러면 다음과 같은 페이지로 이동을 합니다.

 


 

허가하기 버튼을 클릭합니다.

잠시 정지 후 redirect_url 정보로 이동을 합니다.

저는 제 블로그로 설정해 놓았기 때문에 블로그로 이동을 합니다.

 

이동한 url 정보를 보시면 아시겠지만 REST 방식으로 code 라는 파라미터가 추가된게 보일겁니다.

이 code 정보도 잘 메모를 해둡니다.

 

3>Access_token 을 얻는 단계

https://graph.facebook.com/oauth/access_token?client_id=appid&redirect_uri=appurl&client_secret=appsecret&code=yourcode

 

파라미터는 다음과 같습니다.

 

- client_id 어플리케이션의 App ID

- redirect_url : 어플리케이션의 URL

- client_secret : 어플리케이션의 Secret

- code : 브라우저에서 추가된 code 정보

 

실제 호출 URL 입니다.

 

https://graph.facebook.com/oauth/access_token?client_id=152689701410358&redirect_uri=http://blog.naver.com/elastica/&client_secret=d8d175f238c35de25d4a353c93171893&code=2.lGP_co8Xt7KtmBRHEnz_fA__.3600.1282294800-1686066707%7CuzhRTLXD2X93ZFKauccez9mlAqY.

 

그러면 다음과 같이 짠하고 access_token,expire 정보가 웹 페이지 상에 나타날겁니다.

 


이제 fql 을 호출하기 위한 access_token 정보 생성까지는 잘 끝났습니다.

access_token 정보 역시 잘 메모해 둡니다.

 

4>실제 FQL 호출해보기

 

https://api.facebook.com/method/fql.query?query=SELECT uid_from FROM friend_request WHERE uid_to=me()&access_token=152689701410358|2.lGP_co8Xt7KtmBRHEnz_fA__.3600.1282294800-1686066707|-_fN9Mb3RliHqQz-tOwOrP_ZBlk.

 

다음은  친구가 Request 한  내역이 있을 경우 Request 한 친구의 uid를 보여주는 쿼리입니다.

 

friend_request 란 테이블 구조는 다음과 같습니다.


 

FQL 테이블에 대한 상세 정보는 다음 링크를 참조하시기 바랍니다.

http://developers.facebook.com/docs/reference/fql/

자 호출을 하면 다음과 같은 결과가 나왔습니다.

 

 

  <?xml version="1.0" encoding="UTF-8" ?>
- <fql_query_response xmlns="http://api.facebook.com/1.0/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
- <friend_info>
  <uid_from>100001539483859</uid_from>
  </friend_info>
  </fql_query_response>
 
FQL 테이블의 종류를 보면서 원하는 여러가지 결과를 얻으실 수 있을겁니다.
그리고 2단계에서 scope 파라미터 값에 offline_access 를 주지 않으시면 Access_token 은 브라우저가 종료거나 Facebook 로그아웃이 되면 Tokent 값이 Invalid 되어 버리니까  참고하시기 바랍니다.
http://blog.naver.com/PostView.nhn?blogId=elastica&logNo=50094690041

출처 : 
 

'IT-Consultant' 카테고리의 다른 글

Incredibly priced packages with limited availability  (0) 2011.08.31
규혁롬 설치 파일  (0) 2011.08.23
lg uplus 070 국제전화 요금  (0) 2011.08.16
괜잖은 json parser  (0) 2011.08.16
change mac address  (0) 2011.08.12