1

我的问题是关于 Facebook 应用程序的。我有一个 iFrame 应用程序,我正在使用 Facebook PHP SDK 来获取用户的信息并通过变量显示。基本上有一个这样设置的数组:

require_once 'facebook.php';
$app_id = "APP_ID";
$app_secret = "APP_SECRET";
$config = array();
  $config['appId'] = '562494063776100';
  $config['secret'] = '83f3c580f0b4f9ddca7cd13e1386b733';
  $config['fileUpload'] = false; // optional
  $config['cookie'] = true;

$facebook = new Facebook($config);

$user = $facebook->getUser();

if ($user) {
  try {
    // Get the user profile data you have permission to view
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    $user = null;
  }
} else {
  die;
}

然后我可以从打开的图表中访问变量,例如 $user_profile['name'] 。它在初始加载时工作正常,但随后我失去了 $user 的值。该应用程序是一个多页 iframe 应用程序,这意味着它就像一个包含三个页面的小型迷你网站。用户进入欢迎页面,然后可以进入投票页面或进入页面。我只是在第一页加载了 facebook.php 和信息,因为当我在其他文件中有一个 connect.php(其中包含 facebook SDK 信息以及我的 MySQL 登录信息)时,它给了我错误。我想是因为 facebook.php 被多次调用?

现在的问题是我可以在主页上访问 $user_profile 但不能在其他页面上访问。我假设这是因为它没有查询 facebook.php 文件,但我无法将 facebook.php 文件放在这些页面上,因为我收到错误消息。它给我的错误是我在 if 语句的“死”部分中输入的任何内容。基本上 $user 没有设置。我想尽量避免使用 Javascript SDK,这样我就可以将所有东西都保留在服务器端。

我看到了这篇文章: 使用 facebook 的 php sdk 访问新页面时权限未得到保留 ,这与相同的问题很接近,但并不完全相同。谢谢您的帮助!

4

0 回答 0