2014-04-23 1 views
2

Facebook 페이지 이벤트를 받으려고합니다. 앱 ID와 앱 비밀번호가 맞는지 확인하고 오류가 계속 발생합니다.Facebook 이벤트 그래프가 작동하지 않습니다.

<?php 
ini_set('display_startup_errors',1); 
ini_set('display_errors',1); 
error_reporting(-1); 

ob_start(); 

require 'facebook/src/facebook.php'; 

$fb = new Facebook(array(
     'appid'=>'APPID', 
     'secret'=>'APPSECRET' 
    )); 
$page_events = $fb->api('/PAGEID/events?fields=description,location,name,owner,cover,start_time,end_time', 'GET'); 
printf ('<pre>%s</pre>', $page_events); 

?> 

오류 메시지 :

catch되지 않은 OAuthException : 잘못된 OAuth 액세스 토큰 서명.

답변

0

에 던져 난 당신이 구현 여부를했는지 모르겠지만 코드는

  1. 사용자 로그인/인증

    코드는 사용자를 인증되지 않은합니다 실종이다. $fb 개체를 만든 후;

    • 모든 액세스 토큰이 공개적으로 공유 이벤트를 볼 수 있습니다 events- this-

      $user_id = $fb->getUser(); 
      if($user_id) { 
          try { 
      
           // proceed your api calls - user is authenticated at this point 
      
          } catch(FacebookApiException $e) { 
           $login_url = $fb->getLoginUrl(array('scope' => 'manage_pages')); 
           header ("Location: $login_url"); 
           error_log($e->getType()); 
           error_log($e->getMessage()); 
          } 
      } else { 
          $login_url = $fb->getLoginUrl(array('scope' => 'manage_pages')); 
          header ("Location: $login_url"); 
      } 
      
    • 권한

      페이지의 documentation says-

      를 사용 .

    • user access token은 해당 사용자가 볼 수있는 이벤트를 검색하는 데 필요합니다.
    • 다른 이벤트를 검색하려면 page access token이 필요합니다.

    난 당신이 페이지에있는 모든 이벤트를 가져 오기 위해 노력하고있다, 그래서 당신은 토큰 페이지 액세스를 필요로 할 것 같아요.

    페이지 액세스 토큰을 얻으려면 : $fb->api("/PAGE_ID?fields=access_token");. 얻을 수 있도록 원래 통화와 토큰 반환을 사용하는 모든 페이지의 events-

    $page_events = $fb->api('/PAGEID/events?access_token='.$page_access_token.'&fields=description,location,name,owner,cover,start_time,end_time', 'GET'); 
    

(필요한 경우, 당신은 또한 페이지에 대한 절대 만료되지 페이지 토큰을 얻을 수 있습니다 : See here) 난

+0

을 공개 페이지에서 일정을 가져 오려고 할 때 여전히 로그인/인증해야합니까? 물론 – user3423384

+0

예. 하지만 공개 이벤트의 경우 페이지 액세스 토큰을 무시할 수 있습니다. 단순히 사용자를 인증하면 API 호출이 작동합니다. –

+0

이제는 https : //www.facebook.com/dialog/oauth ... 페이지로 리디렉션되지만 아무 일도 일어나지 않습니다. – user3423384