我正在使用从这里下载的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一起使用的信息,请参阅此处。