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 |