본문 바로가기
Programming

C#에서 Facebook Api 사용하기

반응형

Facebook 제공 기본 개발자 사이트: https://developers.facebook.com/

.Net 기반 Facebook SDK 사이트: http://facebooksdk.net/

 

기본적으로 Nuget 패키지 관리창에서 해당 Facebook 패키지를 찾아서 추가만 해주면 제공 API를 사용할수 있다.

  • 로그인
    • 브라우저를 임베딩 시키거나 팝업 페북 로그인 창을 실행 로그인시 필요로 하는 퍼미션지정
    • 페이지실행 후 Fragment 속성으로 access_token 을 제공함

_redirectUrl = "http://www.facebook.com/connect/login_success.html";

_facebookAppId = "페북에서 받은 APP ID";

_permissions = "manage_pages, user_about_me,read_stream,publish_stream,publish_actions ";

 

string navigationUrl = String.Concat(String.Format(String.Concat("https://graph.facebook.com/oauth/authorize?",

"client_id={0}&redirect_uri={1}&scope={2}"), _facebookAppId, _redirectUrl, _permissions),

"&type=user_agent",

"&display=popup");

 

_wb.Navigate(new Uri(navigationUrl).AbsoluteUri);

Navigated 이벤트후 처리

string queryString = e.Url.Fragment;

string[] parameters = queryString.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);

 

foreach (string parameter in parameters)

{

List<string> parameterList = parameter.Split(new char[] { '=' }, StringSplitOptions.RemoveEmptyEntries).ToList();

 

if (parameterList.ElementAt(0).Equals("#access_token"))

{

AccessToken = parameterList.ElementAt(1);

}

else if (parameterList.ElementAt(0).Equals("expires_in"))

{

ExpiresIn = parameterList.ElementAt(1);

}

}

 

  • 프로필 가져오기

    var client = new FacebookClient();

    dynamic me = client.Get("페북페이지");

  • 앨범 가져오기

    FacebookClient _fb = new FacebookClient(accessToken);

    dynamic albums = await _fb.GetTaskAsync("me/albums");

     

    foreach (dynamic albumstuff in albums.data)

    {

    AlbumInfo info = new AlbumInfo() { id = albumstuff.id, name = albumstuff.name };

    albuminfo.Add(info);

    }

  • 계정 가져오기

    FacebookClient _fb = new FacebookClient(accessToken);

    dynamic accounts = await _fb.GetTaskAsync("me/accounts");

     

    foreach (dynamic account in accounts.data)

    {

    }

 

반응형

'Programming' 카테고리의 다른 글

매크로 함수  (0) 2014.06.02
C#에서 DataContract 사용시 참조 처리 문제  (0) 2014.01.06
JQUERY  (0) 2013.09.23
windows 8 pixel Density  (0) 2013.09.13
파일 시스템 및 레지스트리(C# 프로그래밍 가이드)-MSDN 링크  (0) 2013.07.22