我正在制作一个Facebook应用程序,我想用它作为一个页面标签。这个想法是,它将显示不同的内容基于该选项卡所使用的Facebook页面。
<?php require_once ("php-sdk/facebook.php");
$config = array();
$config['appId'] = 'xxxxx';
$config['secret'] = 'xxxxx';
$facebook = new Facebook($config);
$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"]; ?>
不幸的是,它只是偶尔有效。现在,我只是试图回显$page_id,但它并不总是有效。有时它会正确地回显$page_id,有时它会回显一个空值。
任何想法?
我终于想通了。我的代码没有问题。问题出在服务器上。设置为将所有http流量更改为https流量。所以,标签是拉page_id的个人谁设置Facebook使用https。如果有人使用http查看facebook,它无法拉入page_id。
现在都修好了。
我在heroku上的facebook标签应用程序中遇到了同样的问题,问题出现在示例代码index.php
if (substr(AppInfo::getUrl(), 0, 8) != 'https://' && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
头(地点:https://。$ _SERVER [' HTTP_HOST ']。$ _SERVER [' REQUEST_URI ']);退出();
重定向使页面信息数组消失。没有这个,一切都可以正常工作:)
我有同样的问题,上网几个小时后,我发现问题是与我的应用程序的秘密ID
希望对你有所帮助