Note/그밖에

facebook app 페이스북 앱 승인창 (다이알로그) 띄우기

Delia :D 2013. 7. 3. 10:46

facebook app 페이스북 앱 승인창 (다이알로그) 띄우기


facebook 개발자 페이지 - https://developers.facebook.com/docs/dialogs/



페이스북 앱에서 사용자 대신 사용자의 뉴스피드에 글을 남기려면 

사용자가 앱을 승인해야만 가능하다.


보통 페이스북 앱 페이지를 눌렀을때 

"○○○이 회원님의 정보에 접근하려고 합니다" 이런식의 작은 창이 뜨는것을 볼 수 있다.

여기서 사용자가 승인(허가)을 눌러야만 그 앱 소식이 나의 뉴스피드에 노출되는것이다.



facebook 개발자 페이지의 다이알로그 페이지를 보면 다이알로그 팝업은 여러가지 방식이 있다.


그럼 이런 창은 어떻게 띄울까? 


기본 앱 승인 창은 이렇다.

페이스북 앱은 이미 만들어져있다고 가정한다.

앱 정보에 보면 앱 ID/API 키 와 앱 시크릿 코드가 있는데, 이것을 갖고 브라우저 주소창에 다음과 같이 작성하고 뙇 들어가면 다이알로그 화면이 나온다.


http://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&scope=email,read_stream

설명
요청 URL : http://www.facebook.com/dialog/oauth
필수파라미터 : 
client_idYOUR_APP_ID (앱 ID/API 키)
redirect_uri : 앱 승인 완료 후 이동할 페이지의 URL
scope : 승인받고자 하는 정보 (사용자 정보중 어떤 정보에 접근할 것인지 콤마로 구분하여 정의 - 페이스북 개발자페이지 참조)
email,read_stream : 사용자 이메일 정보와 담벼락 글을 가져올 수 있다.

위 URL 에 변수값을 바꾸어 주소창에 뙇 치면 바로 다이알로그 창이 뜨는것을 확인 할 수 있다.
(페이스북 로그인이 안되어있다면 로그인 창이 먼저 뜨고, 로그인을 하면 승인요청 창이 뜬다.)

** 주의할점 : redirect_uri  은 앱 설정 페이지의 사이트 URL과 같은 도메인 이어야 한다.

이 다이알로그 창에서 사용자가 승인(허가)을 눌러서 접근을 허가 하게되면

해당 앱은 해당 사용자에게 접근 할 수 있는 access token 값을 갖게되고, 

이 access token 을 갖고 facebook API 를 통해 사용자의 정보 (scope 에서 정의한 권한)에 자유롭게 접근 할 수 있다.