IT_Programming/Android_Java

FaceBook API 연동

JJun ™ 2011. 7. 4. 14:09

----------------------------------------------------------------------------------

 출처: http://blog.naver.com/lowmans/100124676472

----------------------------------------------------------------------------------

 

 

http://developers.facebook.com/docs/guides/mobile/#android

예제 사이트: http://fbrell.com/examples

FQL(Facebook Query Language): http://developers.facebook.com/docs/reference/fql/

 

 

 

 

 

 

1. FaceBook SDK Download

https://github.com/facebook/facebook-android-sdk

Clone the GitHub repository : git clone git://github.com/facebook/facebook-android-sdk.git

참고: git는 리눅스 환경에서 사용되는 것이므로 Wondows OS 환경에서는 msysgit를 다운로드 하여

         사용한다 (http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.3.1-preview20101002.exe&can=2&q=)

 

 

Git 사용자 설명서.doc

 

 

 

 

2. FaceBookTest 프로젝트 생성후 FaceBook SDK  에서 Class 파일 복사

C:\Android\workspace\facebook\facebook-android-sdk\facebook\src\com\facebook\android

     안에 있는 facebook  샘플 파일들을 FaceBookTest 프로젝트에 복사

 

 

3. FbDialog.class에서 사용할 이미지 추가 

C:\Android\workspace\facebook\facebook-android-sdk\facebook\res

    facebook_icon 파일을 FaceBookTest 프로젝트에 복사

 

 

4. FaceBookTest 프로젝트에 퍼미션 추가 

     <uses-permission android:name="android.permission.INTERNET" />

 

 

더보기

 1. 디렉토리 구조

 

      가) 상위(1st) 디렉토리 : facebook-android-sdk
      나) 하위(2nd) 디렉토리 : examples (simple, stream), facebook, tests

 

      다) facebook : 기본적인 facebook SDK library source files


 

                            (1) AyncFacebookRunner.java 
                                : 비동기 Facebook API 호출을 구현하는 헬퍼 클래스

 

                            (2) DialogError.java
                                : 대화 상자 오류를 요약하는 클래스

 

                            (3) Facebook.java
                                : Facebook Platform API와의 상호작용을 위한 기본 Facebook 클래스

 

                            (4) FacebookError.java
                                : Facebook 오류를 요약하는 클래스

 

                            (5) FbDialog.java
                                : Facebook 대화 상자의 WebView를 구현하는 클래스

 

                            (6) Util.java

                                : 많은 유틸리티 메소드들이 있는 헬퍼 클래스

 


      라) examples/simple : Login, upload Photo, Request, post Wall 

                                         위의 facebook을 library로 이용


      마) examples/stream : Login, 자신의 friend의 timeline을 보여준다.

                                         위의 facebook을 library로 이용


      바) tests : Login test(잘됨, 여러가지 facebook 기능의 동작을 보여줌)

                      UI test(x), Logout test(x)

 

 

 2. Facebook-android-sdk를 적용하는 Application을 만들고 싶을 때


     1) 만드는 Application에 Facebook Android SDK library에 관한 dependency를 추가

         가) File → Properties를 선택하고, Properties 다이얼로그상에서 Android section을

              open


         나) 밑의 Library section에서 추가 버튼을 클릭하고, Facebook SDK project를 선택

               (1) default.properties 파일이 다음의 내용이 추가됨

android.library.reference.1=../../Gyeonggi/facebook-android-sdk/facebook/


                   

    2) Facebook은 서버와 통신을 하므로 Android manifest 파일에서 네트워크 접속에 대한

        권한 부여

<uses-permission android:name="android.permission.INTERNET"> </uses-permission>

  
    3) Facebook에 Application 등록 

         가) 새로운 Facebook application을 생성

              (장소: http://www.facebook.com/developers/createapp.php)
 

         나) application 이름과 그림을 설정 (application이 인증될 때, 보이게 됨)
         다) 과금을 위한 계정 필요 : 휴대폰 인증을 통해 등록 확인 (휴대폰 번호 또는 카드번호)
         라) 인증 키 등과 같은 정보가 발행됨 (OAuth 절차에서 사용)

 

 

 

 

5. FaceBookTest 프로젝트 메인 Activity 에서 FaceBook 호출 

 

 

public class FaceBookTest extends Activity {

 

    Facebook facebook = new Facebook("YOUR_APP_ID");

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

 

        facebook.authorize(this, new DialogListener() {

            @Override

            public void onComplete(Bundle values) {}

 

            @Override

            public void onFacebookError(FacebookError error) {}

 

            @Override

            public void onError(DialogError e) {}

 

            @Override

            public void onCancel() {}

        });

    }

 

    @Override

    public void onActivityResult(int requestCode, int resultCode, Intent data) {

        super.onActivityResult(requestCode, resultCode, data);

 

        facebook.authorizeCallback(requestCode, resultCode, data);

    }

}

 

   

 

 

6. Build

 

 

facebook-facebook.zip

 

FaceBookTest.zip

 

 

 

facebook-facebook.zip
1.89MB
FaceBookTest.zip
0.1MB
Git 사용자 설명서.doc
0.61MB