본문 바로가기

Programming

Facebook actionscript API



Adobe 와 Facebook 이 공동으로 작업한 라이브러리이다. Actionscript 로 구현되어 있어서 Facebook에서 제공하는 대부분의 기능들을 API 실행만으로 사용 가능 하다.



Project Home : http://code.google.com/p/facebook-actionscript-api/



어플리케이션 등록


이 라이브러리는 Web, Desktop(AIR), Mobile(AIR) 용으로 각각 구현 되어 있다. 사용할 플랫폼에 따라 해당 swc를 지정해서 사용하면 된다.
Facebook 앱을 생성해서 사용하는 절차는 다음과 같다.


1. https://developers.facebook.com/apps 에서 새앱 만들기 클릭
2. App Display Name(사용자에게 보여질 앱이름) 과 App NameSpace 를 작성 한다.
3. 위의 절차가 끝나면 해당 app 이름과 함께 app ID를 확인 할 수 있다. 이 app ID는 facebook 라이브러리를 초기화 시키는데 필수 사항이다.





라이브러리 사용 방법 (Web)


Web에서 이 라이브러리를 사용하려면 외부 js를 불러와야 되고 기본으로 필요한 태그가 존재 한다.




 
<!DOCTYPE html>
    <head>       
        <script type="text/javascript"src="http://connect.facebook.net/en_US/all.js"></script>
    </head>
    <body>
        <div id="fb-root"></div>       
    </body>
</html>



div 태그인 fb-root 는 반드시 필요하다. 해당 태그가 없을경우 제대로 실행이 안되는 기능이 있다. (로그인등) Actionscript 라이브러리는 Facebook.init 을 통해 초기화 시킨뒤 사용 가능 하다.


초기화


Facebook.init(appID, facebookInitHandler);
 
private function facebookInitHandler(result:Object, fail:Object):void
{
// 로그인이 되어 있는 상태라면 result 값이 넘어 오고 로그인이 안되어 있을때는 result 값이 null이다.

}



로그인 로그아웃


// 로그인
Facebook.login(loginCompleteHandler, ['user_photos','publish_stream']);
private function loginCompleteHandler(result:Object, fail:Object):void
{
// 로그인이 완료되면 result 값이 넘어 오고 로그인이 안되어 있을때는 result 값이 null이다.
}
 
// 로그아웃
Facebook.logout(logoutCompleteHandler);
 
private function logoutCompleteHandler(success:Boolean):void
{
// 로그아웃 성공 실패값이 success 로 넘어 온다
}


로그아웃시 HTMLLoader 나 StageWebView 에 있는 cookie 떄문에 로그아웃이 안되는 경우가 발생하는데요. 이때는 Facebook.logout의 두번째 파라미터를 넣어 주면 됩니다. 자세한 내용은 다음 링크를 참조 하세요. 

http://stackoverflow.com/questions/8198259/facebook-action-script-3-api-login-logout-issue
http://facebook-actionscript-api.googlecode.com/svn/release/current/docs/com/facebook/graph/FacebookMobile.html#logout%28%29

사진 업로드



// 100 x 100 사이즈의 검정색 이미지가 업로드 된다.
uploadImage(new BitmapData(100100false0x000000));
 
private function uploadImage(bitmapData:BitmapData):void
{
    var img:BitmapData = bitmapData;
    var values:Object = {message:'이미지와 같이 포스팅할 메세지', fileName:'업로드할이미지파일이름',image:img};
     
    Facebook.api('/me/photos', uploadCompleteHandler, values,'POST');
             
}
private function uploadCompleteHandler(response:Object, fail:Object):void
{
    if(response)
    {
        // 업로드 성공
    }
    else
    {
        // 업로드 실패
    }
}






참고 자료


'Programming' 카테고리의 다른 글

Sublime Text 2 에서 Nodejs 셋팅하기  (0) 2012.02.14
ID3 관련 사이트  (1) 2010.10.10
Code Naming  (3) 2009.11.11