我正在尝试使用 PHP 编写 Facebook 应用程序。我已经从 github ( https://github.com/facebook/facebook-php-sdk ) 下载了 PHP SDK,并且我的服务器上的 src 文件与我的应用程序位于同一目录中。
我只是想启动一个简单的应用程序并运行它,所以我从https://developers.facebook.com/docs/php/howto/profilewithgraphapi/复制了访问用户个人资料的代码。
填写我的应用程序信息(审查了应用程序 ID 和密码),我得到:
<?php
// Remember to copy files from the SDK's src/ directory to a
// directory in your application on the server, such as php-sdk/
require_once('facebook.php');
$config = array(
'appId' => 'CENSORED',
'secret' => 'CENSORED',
);
$facebook = new Facebook($config);
$user_id = $facebook->getUser();
?>
<html>
<head></head>
<body>
<?php
if($user_id) {
// We have a user ID, so probably a logged in user.
// If not, we'll get an exception, which we handle below.
try {
$user_profile = $facebook->api('/me','GET');
echo "Name: " . $user_profile['name'];
} catch(FacebookApiException $e) {
// If the user is logged out, you can have a
// user ID even though the access token is invalid.
// In this case, we'll get an exception, so we'll
// just ask the user to login again here.
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
// No user, print a link for the user to login
$login_url = $facebook->getLoginUrl();
echo 'Please <a href="' . $login_url . '">login.</a>';
}
?>
</body>
</html>
但是,当我运行它时,就好像代码没有通过 $config 数组执行。我只是在一个大段中得到一堆文本作为输出(我正在使用画布 URL 和所有内容在 Facebook 上对应用程序进行编程)。
它看起来像这样(审查分别是应用程序 ID 和秘密):
'审查', '秘密' => '审查', ); $facebook = 新的 Facebook($config); $user_id = $facebook->getUser(); ?> api('/me','GET'); 回声“名称:”。$user_profile['name']; } catch(FacebookApiException $e) { // 如果用户已注销,即使访问令牌无效,您也可以拥有 // 用户 ID。// 在这种情况下,我们会得到一个异常,所以我们将 // 只要求用户在这里再次登录。$login_url = $facebook->getLoginUrl(); echo '请登录。'; error_log($e->getType()); error_log($e->getMessage()); } } else { // 没有用户,打印用户登录的链接 $login_url = $facebook->getLoginUrl(); echo '请登录。'; } ?>
我在这方面花了几天时间,但 Facebook 缺乏 n00b 级别的文档并没有帮助。那么为什么我得到一堆文本而不是预期的输出呢?
一些让您入门的猜测: 1. 某些地方的代码已弃用并且不再有效 2. 我需要更多的文件,而不仅仅是 src 中的文件 3. 我的服务器或 Facebook 没有正确处理 PHP(似乎不太可能)
谢谢你的帮助!