繁体   English   中英

facebook php访问令牌

[英]facebook php access token

我将所有文件(facebook.php,base_facebook.php,index.php)放在同一目录中。 我的服务器是Apache,都支持php。 我的代码:

<html>
<body>
<?php
try
{
echo("STARTING<br>");
require("facebook.php");
}
catch(Exception $e)
{
echo("ERROR1: $e");
}

try
{
$facebook = new Facebook("***","###");
}
catch(Exception $e)
{
echo("ERROR2: $e");
}
$token = $facebook->getAccessToken();
echo("Access token: ".$token."<br>");

我的文字输出如下:

STARTING
ERROR1: Object id #1before create fb instance

Fatal error: Class 'Facebook' not found in /(FILE PATH)/index.php on line 16

Note: line 16 is: $facebook = new Facebook("***","###");

第一个catch语句是print:Object Id#1。 然后它执行我的下一个打印声明。 然后它返回未捕获的致命错误。 我在这里错过了什么?

为什么服务器无法获得正确的访问令牌?

你没有require facebook.php,因此ERROR1: Object id #1 - 你试图回应异常错误对象。 尝试

catch ($e) {
   die($e->getMessage());
}

代替。

你不应该抓住那种错误。 如果一个require失败,唯一有用的解决方案是中止执行,因为你没有得到你需要继续执行的东西。

基本上你已经on error resume next实现了一个PHP基础版的Visual Basic,其中包含了所有令人讨厌的愚蠢。

您应该在发送标头之前放置代码:

请访问此处获取更多信息: https//developers.facebook.com/docs/reference/php/

基本上,把它放在你的代码之上:

<?php
require_once("facebook.php");

$config = array();
$config[‘appId’] = 'YOUR_APP_ID';
$config[‘secret’] = 'YOUR_APP_SECRET';
$config[‘fileUpload’] = false; // optional

$facebook = new Facebook($config);
?>

然后加载你的HTML(在MVC风格将更好的维护;-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM