Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook PHP SDK将对帖子发表评论_Facebook - Fatal编程技术网

Facebook PHP SDK将对帖子发表评论

Facebook PHP SDK将对帖子发表评论,facebook,Facebook,亲爱的,我想用Graph API对我的帖子发表评论。 目前,我正在本地主机上执行此操作。我能够得到登录按钮和处理 从FB,我复制了这个代码。现在我想做一个测试注释,但它会提示此错误: 可捕获的致命错误:参数1传递到Facebook\FacebookRequest::\uu构造必须是Facebook\FacebookSession的实例,给定为空,在第43行的F:\wamp\www\funnyl\Facebook-php-sdk-v4-4.0-dev\src\basic.php中调用,在第182行

亲爱的,我想用Graph API对我的帖子发表评论。 目前,我正在本地主机上执行此操作。我能够得到登录按钮和处理

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

可捕获的致命错误:参数1传递到Facebook\FacebookRequest::\uu构造必须是Facebook\FacebookSession的实例,给定为空,在第43行的F:\wamp\www\funnyl\Facebook-php-sdk-v4-4.0-dev\src\basic.php中调用,在第182行的F:\wamp\www\funnylol\Facebook-php-sdk-v4.0-dev\src\Facebook\Facebook\Facebook-request.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();
?>
怎么办?

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


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

我按照您的建议添加了此代码$helper=new FacebookRedirectLoginHelper;请尝试{$session=$helper->getSessionFromRedirect;}catchFacebookRequestException$ex{//当Facebook返回错误时}catch\Exception$ex{//当验证失败或其他本地问题时}我得到了这个可捕获的错误致命错误:参数1传递到Facebook\FacebookRequest::\uu构造必须是Facebook\FacebookSession的实例,null givenOkay,那么您需要从中进行排序。您必须使用FacebookRedirectLoginHelper类将您正在代表谁提取图形数据重定向到Facebook登录。一旦成功,$session变量将被填充,错误将消失。var_dump$session;返回NULL。这是我的登录名、我的应用ID和应用机密。