下载Facebook页面帖子

时间:2014-05-30 00:44:03

标签: php facebook facebook-graph-api facebook-php-sdk

我正在创建一项服务,其目的是下载Facebook页面的公共内容,但我遇到了Facebook OAuth,应用程序和所有内容的问题(为什么地狱facebook太复杂了?)

好吧,我在Facebook上创建了一个应用程序,它在线并且活跃。之后,我从https://github.com/facebook/facebook-php-sdk-v4下载了Facebook SDK,此时我正在尝试在我的服务器上运行的应用程序与Facebook之间建立有效的连接。

这是我正在使用的功能和要求:

    session_start();
    require_once( 'Facebook/FacebookCurl.php');
    require_once( 'Facebook/FacebookHttpable.php');
    require_once( 'Facebook/FacebookCurlHttpClient.php');
    require_once( 'Facebook/FacebookSession.php' );
    require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
    require_once( 'Facebook/FacebookRequest.php' );
    require_once( 'Facebook/FacebookResponse.php' );
    require_once( 'Facebook/FacebookSDKException.php' );
    require_once( 'Facebook/FacebookRequestException.php' );
    require_once( 'Facebook/FacebookAuthorizationException.php' );
    require_once( 'Facebook/GraphObject.php');
    use Facebook\FacebookSession;
    use Facebook\FacebookRequest;
    use Facebook\GraphUser;
    use Facebook\FacebookCurl;
    use Facebook\FacebookHttpable;
    use Facebook\FacebookCurlHttpClient;
        use FacebookAuthorizationException.php;
function consumeFacebook(){
    FacebookSession::setDefaultApplication('my FBapp ID','my FBapp Secret');
    $session = new FacebookSession('myToken from the Facebook Application');
    $request = new FacebookRequest(
      $session,
      '/19292868552/posts',
      'GET'
    );  
    $response = $request->execute();
    var_dump($request);
}

我得到的错误如下:

Fatal error: Uncaught exception 'Facebook\FacebookAuthorizationException' with message 'Invalid OAuth access token.' in C:\xampp\htdocs\dd-consumer\Facebook\FacebookRequestException.php:104 Stack trace: #0 C:\xampp\htdocs\dd-consumer\Facebook\FacebookRequest.php(254): Facebook\FacebookRequestException::create('{"error":{"mess...', Object(stdClass), 400) #1 C:\xampp\htdocs\dd-consumer\index.php(63): Facebook\FacebookRequest->execute() #2 C:\xampp\htdocs\dd-consumer\index.php(71): consumeFacebook() #3 {main} thrown in C:\xampp\htdocs\dd-consumer\Facebook\FacebookRequestException.php on line 104

有没有人有任何建议?任何解决方法甚至更简单的方法来完成我需要的东西,而无需使用FB SDK?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用App Access Token进行此类API调用。最简单的方法是使用app_id和secret。

然后你可以尝试这样的事情:

// create a session using app_access_token
$session = new FacebookSession( '{app_id}|{app_secret}' );

// see if we have a session
if ( isset( $session ) ) {

  // graph api request for public post data
  $response = (new FacebookRequest( $session, 'GET', '/19292868552/posts') )->execute()->getGraphObject()->asArray();

  // print data
  echo '<pre>' . print_r( $response, 1 ) . '</pre>';

} else {
  // some error
}