티스토리 뷰

언제 바뀌었는지 모르겠지만 페이스북에서
공유 버튼 제공을 하지 않는다.
http://developers.facebook.com/docs/share
에서 제공했었는데 지금 저 주소로 이동하면
Like 버튼, Graph Tags Plugins 페이지로 전환된다.

내 클라이언트는 아직도 공유 버튼을 원한다.
메뉴얼과 페이지로 제공은 사라졌지만 2011-03-15 현재까진
기존의 공유버튼 소스를 구해다 쓰면 되긴 한다.

내 경우 IIS용 ReWrite를 통한 주소를 전달하면
페이스북용 메타태그가 제대로 설정되어 있더라도
공유버튼을 통해서 전달된 내 페이지 주소에서
제대로 스크랩 정보를 빼 내지 못하는 문제가 있었다.
ex)
domain.com/1234 (X)
domain.com/view.php?id=1234 (O)

그러면 앞으로 언젠가부터 공유를 제공하지 말라는건가?
클라이언트 요구가 있으니 다른 방법을 찾아보자!
구글링을 했고, 다른 방법을 찾았다.

이곳데모페이지를 먼저 보고
소스를 보면 FB api 라는것을 쓰고 있다는 것을 알 수 있다.

페이스북이 제공하는 Javascript SDK를 활용하는것인데
메뉴얼은 http://developers.facebook.com/docs/reference/javascript/
기본적 SDK 로딩은

SDK를 페이지 로딩시 동적으로 로딩할때는
<script> window.fbAsyncInit = function() { FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true}); }; (function() { var e = document.createElement('script'); e.async = true; e.src = document.location.protocol + '//connect.facebook.net/ko_KR/all.js'; document.getElementById('fb-root').appendChild(e); }()); </script>
이 글에서는 공유 버튼이 목적이므로 위의 데모 제공하는 페이지에서
그 부분을 보면 다른것에 비해 아주 간단히 되어 있다.
function share(){
    var share = {
        method: 'stream.share',
        u: 'http://thinkdiff.net/'
    };

    FB.ui(share, function(response) { console.log(response); });
}

이제 FB.ui 사용법만 알면 되는거 라는것을 알 수 있다.
FB.ui 메뉴얼 http://developers.facebook.com/docs/reference/javascript/fb.ui/
보니, 참 제공하는것이 부족하다는것이 확 느껴졌다.
method 종류도 제대로 나열되어 있지 않다.

제대로 된 FB.ui 메뉴얼 http://fbdevwiki.com/wiki/FB.ui
에서 아래를 보면 stream.share 메뉴얼이 있다.

정리하자면
  1. Facebook Javascript SDK Loading
  2. Share 함수. 즉, FB.ui 의 stream.share method 정의.
  3. 버튼에 Share 함수 연결.
댓글