这是在Facebook上,我收到此错误
致命错误:第4行/home/u567000587/public_html/facebook/index.php中未找到“Facebook”类
我已将其设置为可以代表用户发布
此代码无效
<html>
<?php
$facebook = new Facebook(array(
'appId' => 329394273803XXX, // YOUR APP ID
'secret' => df6e14ef537ad57bdbec5bf5a9dXXX, // YOUR API SECRET
));
$user = $facebook->getUser();
if($user) {
$attachment = array(
'name' => 'NAME',
'caption' => 'CAPTION',
'link' => 'http://yourlink.com',
'description' => 'DESCRIPTION',
'picture' => 'http://yourlink.com/yourimage.jpg'
);
try { $result = $facebook->api('/me/feed/', 'post', $attachment,array('access_token'=>$valid_access_token));
}
catch(FacebookApiException $e) { }
}
?>
</html>
答案 0 :(得分:1)
您尚未加入Facebook类 - 这意味着您没有下载库文件,或将其包含在您的php源代码中。
这里有facebook API的完整文档; http://developers.facebook.com/docs/reference/php/
可以在这里找到php Facebook库/类; https://github.com/facebook/php-sdk
将上面github链接上的src /文件夹的内容下载到与您创建的上述文件相同位置的src /文件夹中。然后,你需要包含php类;通过在脚本之后插入以下代码来执行此操作
require_once("src/facebook.php");
以上内容应该足以让你继续......但我强烈建议你阅读上面的文档 - 你在上面的例子中使用OOP,但你似乎并不完全理解它的工作原理。此外,您在上面的代码段中与全世界共享了您的API密钥..您可能希望删除它。
祝你好运。
答案 1 :(得分:0)
首先将“ your_app_id ”,“ Your_app_secret ”和“ you_app_namespace ”替换为您应用的相应值。 然后你必须在这个应用程序所在的同一目录中拥有php sdk(facebook.php,base_facebook.php和fb_ca_chain_bundle.crt)的所有文件。 如果这不起作用,那么你最好退出facebook编程。
<html>
<body>
<?php
require 'facebook.php';
$facebook_appid='your_app_id'; //
$facebook_app_secret='Your_app_secret';
$facebook = new Facebook(array(
'appId' => $facebook_appid,
'secret' => $facebook_app_secret,
));
if (isset($_GET['code'])){
header("Location:http://apps.facebook.com/you_app_namespace"); //replace you_app_namespace with your app namespace (app name)
exit;
}
$user=null;
//Facebook Authentication part
$user = $facebook->getUser();
// We may or may not have this data based
// on whether the user is logged in.
// If we have a $user id here, it means we know
// the user is logged into
// Facebook, but we don’t know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream' //list of permissions
)
);
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
//you should use error_log($e); instead of printing the info on browser
d($e); // d is a debug function defined at the end of this file
$user = null;
}
}
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
//get user basic description
$userInfo = $facebook->api("/$user");
if($user) {
$attachment = array(
'name' => 'NAME',
'caption' => 'CAPTION',
'link' => 'http://yourlink.com',
'description' => 'DESCRIPTION',
'picture' => 'http://yourlink.com/yourimage.jpg'
);
try { $result = $facebook->api('/me/feed/', 'post', $attachment,array('access_token'=>$facebook->getAccessToken()));
}
catch(FacebookApiException $e) { }
}
?>
</body>
</head>