Facebook PHP SDK对Post发表评论

时间:2015-02-12 06:26:28

标签: facebook

亲爱的我想使用Graph API对我的帖子发表评论。 目前我在localhost中这样做。我能够获得登录按钮并处理它。

从FB,我复制了这段代码。现在我想做一个测试评论,但它会提示这个错误:

可捕获的致命错误:传递给Facebook的论点1 \ FacebookRequest :: __ construct()必须是Facebook \ FacebookSession的一个实例,给出null,在F:\ wamp \ www \ FunnyNLol \ facebook-php-sdk-v4-中调用第43行的4.0-dev \ src \ basic.php并在第182行的F:\ wamp \ www \ FunnyNLol \ facebook-php-sdk-v4-4.0-dev \ src \ Facebook \ FacebookRequest.php中定义

<?php
session_start();
// added in v4.0.0

require_once '../autoload.php';

use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;

// start session

// init app with app id and secret
FacebookSession::setDefaultApplication( 'XXXXXXXXXXXX','XXXXXXXXXXXXX');

// login helper with redirect_uri

    $helper = new FacebookRedirectLoginHelper('http://mydomaincom/tag/' );

try {
  $session = $helper->getSessionFromRedirect();
} catch( FacebookRequestException $ex ) {
  // When Facebook returns an error
} catch( Exception $ex ) {
  // When validation fails or other local issues
}

$request = new FacebookRequest(
  $session,
  'POST',
  '/1793370944220599/comments',
  array (
    'message' => 'This is a test comment',
  )
);
$response = $request->execute();
$graphObject = $response->getGraphObject();
?>

怎么办?

1 个答案:

答案 0 :(得分:0)

您还需要阅读SDK教程的this部分内容。为了进行这些图形API调用,您需要通过其登录助手创建一个Facebook会话。

因此,您正在查看的错误输出与您传递到FacebookRequest构造函数的$session变量相关,并且没有在任何地方进行初始化。