굳이 모바일 앱 서버로 분야를 한정 지을 필요야 있겠냐마는 나 스스로가 모바일 앱과 관련해 제대로 된 검색 결과를 얻기가 힘들었기 때문에 제목에 붙여본다. 사실 굉장히 간단한 코드다. 비록 수 개월만 지나면 서버 작업에서 완전히 손을 놓게 되겠지만 개인 프로젝트를 하든 어쩌든 언젠가는 다시 써먹을 일이 있을 것이라 생각한다. 물론 페이스북 그래프 API의 구조가 바뀌거나, 더 심하게 말해 페이스북 서비스가 없어지게 되면 말짱도루묵이지만.
PHP를 기준으로 작성된 코드다. 클라이언트로부터 필요한 것은 access_token이 전부다.
$token = ''; $url = "https://graph.facebook.com/me?locale=ko_KR&access_token=$token"; $options = array( 'http' => array( 'header' => "Content-type: application/x-www-form-urlencoded\r\n", 'method' => 'GET' ) ); $context = stream_context_create($options); $result = file_get_contents($url, false, $context);
locale=ko_KR 옵션은 물론 옵션이다. 두 가지 중요한 점은 사실상 서버에서는 앱에 대한 다른 정보, 예를 들어 앱 아이디나 앱 시크릿을 저장할 필요가 전혀 없다는 것과 POST 옵션으로 요청하면 토큰이 옳은 값인지 아닌지만 리턴한다는 것이다. 왜 이 몇 줄 안 되는 코드를 누군가 짜놨을 거라 생각하고 그렇게나 열심히 검색을 하고 다녔던 걸까.
스택오버플로우의 두 포스트를 참고했다. "use facebook iOS client authorization on own to server", "How do I send a POST request with PHP?"
이제 이 코드는 내꼬양.
'CODE' 카테고리의 다른 글
Ssign.net 서버 개발기 (0) | 2014.11.15 |
---|---|
COMODO 보안서버 SSL 인증서 설치하기 (0) | 2014.11.03 |
워드프레스를 재설치할 때는 꼭 기존의 데이터베이스를 날려주자 (0) | 2014.10.31 |
nginx 프록시 사용시 URI 파라미터 그대로 넘기기 (0) | 2014.10.30 |
PHP file_get_contents에서 올바르지 못한 HTTP response 무시하고 response 받기 (0) | 2014.10.29 |
Laravel과 Intervention을 연동할 때 Intervention 설치하는 방법 (0) | 2014.09.21 |
CentOS 5와 Ubuntu 12.04 사이에서 NFS 서버-클라이언트 구축하기 (0) | 2014.07.29 |
파이썬, 학교에서 자바를 제치다 (0) | 2014.07.21 |
Ubuntu 12.04에서 LEMP(Linux, nginx, MySQL, PHP) 설정 무난하게 갖추기 (0) | 2014.07.17 |
와이파이(WiFi)에는 아무런 뜻도 없다 (0) | 2014.06.24 |