我已经设置了一个 Facebook 应用程序并将其添加为我的粉丝页面上的标签。
以用户身份登录并请求应用页面的直接 URL,显示一切正确。
但是,当我没有登录@facebook 并转到直接 URL 时,应用页面上不会显示任何内容。它只是在画布上显示最大高度为 100 像素的白色背景。
我可以自然地从该页面登录,在登录回调后,我再次正常看到应用页面。
我认为这可能与我的代码有关。但后来我测试删除了我的 index.php 文件中的所有内容,只添加了一些静态虚拟文本。仍然没有任何显示。
有任何想法吗?
编辑1:我认为这可能与我将所有为应用画布定义的URL请求重定向到https有关。我在其他地方读到,Facebook 可能出于某种原因也需要访问相同 URL 的 http。但是还没有找到任何支持这一点的东西。
编辑 2:看到我什至无法得到任何东西,有一个带有静态文本的空白 index.php 我不确定这是否可能与它有关。但是打开我的整个脚本的错误,我得到了一些错误 $signed_request - 猜是因为我在无法检索它时调用它。虽然不知道该怎么做,但无论如何都会发布代码以防有人看到任何东西。
function parsePageSignedRequest() {
if (isset($_REQUEST['signed_request'])) {
$encoded_sig = null;
$payload = null;
list($encoded_sig, $payload) = explode('.', $_REQUEST['signed_request'], 2);
$sig = base64_decode(strtr($encoded_sig, '-_', '+/'));
$data = json_decode(base64_decode(strtr($payload, '-_', '+/'), true));
return $data;
}
return false;
}
if($signed_request = parsePageSignedRequest()) {
if($signed_request->page->liked) {
//echo "This content is for Fans only!";
$amFan = "true";
} else {
//echo "Please click on the Like button to view this tab!";
$amFan = "false";
}
}