php - Facebook getSignedRequest 并不总是抓取页面 ID

标签 php facebook facebook-graph-api facebook-php-sdk

我正在开发一个 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 流量。因此,该选项卡正在为将 Facebook 设置为使用 https 的个人拉取 page_id。如果有人使用 http 查看 facebook,它无法拉入 page_id。

现在一切都解决了。服务器允许 http 流量保留 http 和 https 流量保留 https。

关于php - Facebook getSignedRequest 并不总是抓取页面 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8312478/

相关文章:

php - 连接 MySQL 时限制结果

php - 获取 PHP 数组的所有排列?

javascript - 如何使登录使用facebook手动触发

facebook - 权限: manage_pages vs pages_show_list

php - 注册新成就 : (#3502) Object at achievement URL is not of type game. 成就

php - Symfony 4 - 自动加载器期望在文件中定义类 [...]

php - proc_open(): fork 失败-内存不足

html - iOS 9.x 中嵌入式 Facebook 浏览器的视口(viewport)/页面高度错误

swift - 登录后存储 CurrentUser 的最佳实践

facebook - Facebook API:允许用户选择照片的对话框