Facebook PHP SDK v5.0 - FacebookRequest未找到错误


Facebook PHP SDK v5.0 - FacebookRequest not found Error

我正在使用从这里下载的PHP-SDK-v5.0包。我正试图从一个公共组通过facebook提供的一个例子得到后饲料。当我尝试运行脚本时,它抛出一个错误- Fatal error: Class 'FacebookRequest' not found。下面是抛出错误的示例。

require_once __DIR__. '/Facebook/autoload.php';    
$request = new FacebookRequest(
      $session,
      'GET',
      '/{group-id}/feed',
      array(
        'fields' => 'full_picture,attachments.limit(3){media,title,type,url},icon,message',
        'limit' => '1'
      )
    );
    $response = $request->execute();
    $graphObject = $response->getGraphObject();
    var_dump($graphObject);

我有另一个简单的facebook登录脚本基于下面的例子,其中共享相同的目录和工作完美。所以绝对不是路径问题。

session_start();
require_once __DIR__. '/Facebook/autoload.php';
$fb = new Facebook'Facebook([
    'app_id' => 'xxxxx',
    'app_secret' => 'xxxxxxxxxxx',
    'default_graph_version' => 'v2.2',
    ]);
$helper = $fb->getRedirectLoginHelper();
$permissions = ['email', 'public_profile', 'user_friends']; // Optional permissions
$loginUrl = $helper->getLoginUrl('http://domain.com/fb-app/login-callback.php', $permissions);
echo '<a href="' . htmlspecialchars($loginUrl) . '">Log in with Facebook!</a>';

我怀疑这是一个与我不太熟悉的名称空间有关的问题。我尝试使用这个问题的解决方案,建议使用use Facebook'FacebookRequest;,但不工作,也不$request = new Facebook'FacebookRequest。另外,我觉得脚本是不完整的,应该纳入一个访问令牌。我还在学习,请帮我解决这个问题

您应该在创建对象时明确定义名称空间:

$request = new Facebook'FacebookRequest(...

或者继续使用new FacebookRequest,但在脚本的开头添加use Facebook'FacebookRequset

还请注意,您使用的是Facebook SDK v4语法,而不是v5。有关如何将FacebookRequest与SDK v5一起使用的信息,请参阅此处。