본문 바로가기
카테고리 없음

facebook graph API를 이용해 페이지 담벼락글 불러오기

by 막이 2013. 11. 4.


facebook graph API를 이용해 페이지 담벼락글 불러오기  FACEBOOK / 프로그램 

2013/02/20 19:15

복사http://blog.naver.com/gmlwns77/50163530224

전용뷰어 보기

자유자재로 디자인을 입히고 원하는 데이터만 불러와야 하는 경우가 생겨서 

graph API를 사용하게 되었습니다.

 

javascript SDK를 사용하려고 했었지만 로그인을 하지 않고선 담벼락글을 불러 올 수 없는거 같아서 포기 했습니다. [ 혹시 방법을 아시는 분이 계신다면 알려주시면 감사하겠습니다.]

 

1.페이스북 개발자 사이트에 접속 합니다.

 https://developers.facebook.com/

 

2. Apps를 클릭합니다. 

 

 아마 개발자 등록을 해야 가능했던거로 기억이..register facebook developer?? 이런 버튼이 있는데 그 버튼 클릭하고 핸드폰으로 인증번호 받고 등록하면 됩니다. 그런데 통신사가 KT이면 문자가 오지 않더군요..;;; 체크박스들이 잔뜩 나올텐데 그냥 건너뛰기 해도 됩니다.

 

 

 

 

3. 앱 만들기를 클릭하여 앱을 만듭니다.

 

 

 

전 그냥 테스트를 위해서 만들기 때문에 저렇게 대강 대강 입력했습니다.;;

계속하기를 누르고 보안 문자를 입력하면 앱이 생성 됩니다.

 

4. 앱을 다 만들고 나면, 아래처럼 확인이 가능 합니다.

   sendbox mode는 굳이 키지 않아도 되는 것 같습니다.

   처음에 안된다고 짜증나서 이것저것 건드리면서 켰어요..;;;

 

 

 

5. https://developers.facebook.com/tools/access_token/ 에 접속해 보면

App Token이 생성된것을 확인 할 수 있습니다.

 

User Token은 제가 막 건들면서 만든것 중에 하나입니다.

만약 페이지의 담벼락을 불러오는거라면 user Token은 만들필요가 없습니다.

 

 


아니면,

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=앱ID/API키&client_secret=앱 시크릿 코드


위에서 앱을 생성하면서 만들어진 앱ID와 앱 시크릿 코드로도 토큰을 확인 할 수 있습니다.

 

 

 

6. 위에서 구한 APP 토큰을 이용해서, 

https://graph.facebook.com/페이지ID/posts?access_token=토큰 을 날려보면 

 아래와 같이 JSON형태로 데이터가 넘어 옵니다.


 

http://www.facebook.com/페이지ID <= 요 ID를 넣어보세요~

ex) http://www.facebook.com/DunkinDonutsKorea같은 경우에는  

DunkinDonutsKorea가 페이지 ID

 



 

 

 

 

한글 데이터까지 확실하게 확인을 하고 싶으신 분들은https://developers.facebook.com/tools/explorer 여기에 접속하셔서 

 

토큰을 넣고, 페이지id ,posts를 입력하고 제출을 클릭하면 아래처럼 한글 데이터가 제대로 불러지는것을 확인 할 수 있습니다. 

 

 


7. 데이터를 불러오는데 성공했으면~ json형태로 온 데이터를 예쁘게 뿌려 줍니다.

   저는 jquery를 이용했습니다.

 

jquery를 처음 사용하시는 분이시면 http://blog.naver.com/gmlwns77/50156865147

로 가셔서 js파일을 다운받고 import해주세요~

 

script

 

function getFacebook(){

https://graph.facebook.com/앱ID/posts?access_token=토큰&callback=?";

$.getJSON(url,function(json){

    var html = "<ul>";

   

 //페이스북 json구조 하나의 object -> data,data,data....

     $.each(json.data,function(i,fb){

if(fb.story != undefined)

{

html += "<li>" + fb.story + "</li>";

}

if(fb.message != undefined)

{

html += "<li>" + fb.message + "</li>";

}

if(fb.description != undefined)

{

html += "<li>" + fb.description + "</li>";

}

if(fb.picture != undefined && fb.link != undefined)

{

html += "<a href='" + fb.link + "'><img src='" + fb.picture + "'/></a>";

}

     });

    html += "</ul>";

    $('.facebookfeed').html(html);

});

};

 

html

<body>

<div class="facebookfeed"></div>

</body>

 

 

저기서 callback이라는 parameter에 ?를 넣는데 이는 크로스도메인 문제때문에 넣어줘야 한다고 하더군요~ 영어가 딸려서 100%이해를 하진 못했습니다.;;

 

참고 : http://www.prettyklicks.com/blog/making-a-facebook-feed-using-the-graph-api-json-and-jquery/291/ 

 

저는 영어가 딸리기 때문에 페이스북 API 대강 대강 번역하고 구글링 하면서 얻은 정보로 만든겁니다

영어가 되시는 분은 https://developers.facebook.com/docs/reference/api/ 에 접속하셔서 graph API 를 제대로 해석하시면서 만드시면 별 어려움이 없을거 같네요~