------ 이 포스팅은 자세한 canvas app 구현에 대한 코딩을 안내하지 않습니다.
결과물먼저 알려드리자면
비로그인 facebook 사용자가 url을 직접 입력하여 앱에 접근을 하게 되면
페이스북에서 로그인 페이지로 redirect 를 하게 됩니다.
비로그인 사용자가 로그인을 하게 되면 앱에 대한 접근 권한 승인 여부를 나타내는 페이지가 보이게 됩니다.
앱에 대해 승인을 하게 되면 사용자는 앱의 화면을 보게 되고 앱을 플레이 한 후에
결과물에 대하여 자신의 담벼락(wall, feed) 에 앱이 원하는 data를 올리게 됩니다.
이 결과물을 나오게 하기 위해 제가 작업한 환경은 아래와 같습니다.
windows server(No SSL, 도메인있음) / APMSetup7(apache2.2-php5.2만 의미있음)
이러한 환경 아래에서 github 이나 여러 돌아다니는 소스들을 취합하여 tutorial 과 같은 source를 만들었습니다.
그러다보니 서로 다른 환경에서 작업이 일어난 source들을 정상작동하게 하려니 여러 문제점이 있었습니다.
우선 SSL 문제를 회피하기 위해서는 login process 가 있는 php 파일 상단에
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
를 작성하여 줍니다.
그리고 보안인증서 fb_ca_chain_bundle.crt 를 facebook.php(sdk) 파일이 있는 같은 폴더에 넣어줍니다.
흠.... 끝입니다 -_-;;
이거때문에 대략 순수 10시간은 삽질한 듯하네요...
첨 만져보는 php였기도하고 구현에 집중하다보니 logging처리없이 감에만 의존,
문제 요지가 보이는 라인 뒤에 파일생성명령어를 통해 input하면서 에러를 잡다보니 죽는 줄 알았네요 ㅋㅋ
사실 이 포스팅이 맞는지도 모르겠네요. 구현중에 막힐적마다 stackoverflow 에 의존했는데 맞길 바랄뿐입니다;;
추후에 다시 관련해서 막히는 일이 없길 ㅠㅠㅠ
참, facebook php sdk 에서 exception 처리를 지원하더군요 -_-;; 것두 모르고 삽질만 엄청 했었네요.
적절하게 try catch 문을 작성하면서 작업한다면 이 글을 보시는 여러분은 아마 로직에만 집중할 수 있을거에요ㅠㅠ
'Programming > etc' 카테고리의 다른 글
[eclipse] eclipse market place에서 google plugin for eclipse로 인스톨 실패시. (0) | 2012.04.11 |
---|---|
[facebook] 랜딩페이지의 meta태그의 data와 이미지 url을 수정해도 썸네일이 바뀌지 않는다면..? (0) | 2012.04.05 |
etc, java : freemarker template을 사용시 server side 변수 접근에 제한이 있습니다. (exception클래스) (0) | 2012.03.03 |
etc, javascript : daum map open api 에서 roadview 구현시 주의점. (0) | 2012.02.28 |
etc / javascript : daum.maps.event.addListener (0) | 2012.02.27 |