Facebook feed - php - 댓글 웹사이트 연동

  1. 페이스북 개발자 등록확인
    • 개발자등록하고 앱을 생성했다면 그림과 같이 페이스북 설정메뉴에 "앱관리" 또는 "맵만들기" 메뉴가 나타난다.

      owl 2013-11-01 15.17.59

  2. 앱관리 화면에 들어가면, 내가 만든 앱 목록/정보가 나타난다.
    • 앱이없으면, "새 앱 만들기"버튼을 이용하여 앱을 생성한다.
    • 앱을 이미 생성했다면, 앱수정 버튼이 나타난다.  
      owl 2013-11-01 15.15.57
  3. "Edit App" 버튼을 클릭하면, 선택앱에 대한 설정을 할 수 있다.
    • feed 기능을 사용하려면 다음 몇가지 설정을 꼭 확인하고 설정해야 한다.
    1. App ID
    2. App Secret
    3. 다음 추가설정은 이설정은 오픈그래프 기능에 필요한데, 이설정을 하려면, 서버인증과정이 필요한데… 잠시후… 기초 기술이 필요함, 페이스북은 개발안내에 투자가 소홀함을 이해해야 함.
      1. App Domains  
      2. Site URL
    • owl 2013-11-01 15.16.05
  4. 서버인증 과정은 다음주소에 동영상으로 안내하고 있다.
    • https://developers.facebook.com/docs/opengraph/getting-started/owl 2013-11-01 15.40.20
  5. 피드방식으로 내 웹서버와 페이스북에 있는 콘텐츠를 연동하려면, 다음과 같이 "Advanced > Valid OAuth redirect URIs" 에 내 서버에서 인증결과를 받을 주고를 꼭 등록해야 한다.

    owl 2013-11-01 15.06.39
    owl 2013-11-01 15.06.49

  6. 내가 생성한 앱을 활용하는데 필요한 실험도구도 알아 두어야 원하는 개발을 할 수 있다.
    • 앱편집화면 >  Use Graph API Explorer 버튼클릭

      owl 2013-11-01 15.16.05

    •  Graph API Explorer 화면에서
      1. Application 을 선택하고

        owl 2013-11-01 15.16.22

      2. Debug 버튼 클릭하면,

        owl 2013-11-01 15.16.26
      3. 내 앱에 대한 외부연동 상태 및 기본 정보를 확인할 수 있다.
        • 이거 안되면, 앱설정에 문제가 있다.
        • 이화면에서 User ID 도 확인할 수 있으니 잘 기억해 두면 유용하다.

          owl 2013-11-01 15.16.37

웹사이트 페이스북 인증 사례 HTML 소스 : index.html



Open Graph Getting Started App - og.likes




This example creates a story on Facebook using the og.likes API. That story will just say that you like an article on TechCrunch. The story should only be visible to you.

[break]

  1. PHP SDK 다운로드

    owl 2013-11-01 15.05.29

  2. 페이스북에서 Access Token 받을 PHP 파일 생성 - accesstoken.php
    owl 2013-11-01 15.02.32
  3. accesstoken.php 소스
    • Access Token 은 페이스북이 요청서버에 대한 인증을 하고 요청한 페이스북 콘텐츠를 가져갈 수 있는 일종의 출입증이다.
    • Access Token 인 한시적으로 요휴한 특성이 있다.
    • 요청결과로 Access Token 은 발급해 주는데, 페이스북의 연동솔루션 개발의도가 웹브라우저에서 요청했을 때만을 위한 방식이기 때문에 return url 방식으로 주소창에 Access Token 값을 이턴해 준다. 여기서는 accesstoken.php 파일을 return url 로 설정했으므로 다음과 같이 accesstoken.php 소스를 작성하면, Access Token 값을 PHP 받아올 수 있다. 
echo $_SERVER['QUERY_STRING'];

[break]

  1. 페이스북에 있는 내용을 내 웹페이지에 가져오기 사례 : PHP - example.php
 
require $_SERVER['DOCUMENT_ROOT'].'/sns/facebook.php';
$profile_id = "facebook_user_id";
$app_id = "facebook_app_id";
$app_secret = "facebook_app_secret";

$facebook = new Facebook(array(
  'appId'  => $app_id,
  'secret' => $app_secret,
));

$user = $facebook->getUser();
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope'=>'publish_stream,create_event,rsvp_event,sms,offline_access,video_upload,photo_upload'));
}

$fbUrl = "https://graph.facebook.com/".$profile_id."/feed?fields=photos,message,name,id,created_time,from,picture,link,type&limit=10&access_token=".$facebook->getAccessToken();

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$fbUrl);
curl_setopt($ch, CURLOPT_NOBODY,false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
//$fbJson = json_decode($result);

$fbJson = $result;
//var_dump($facebook_data);