gpt4 book ai didi

php - Facebook 应用程序的结果在本地和 Heroku 上有所不同

转载 作者:可可西里 更新时间:2023-10-31 23:41:54 28 4
gpt4 key购买 nike

在我的 facebook 应用程序中,有两个文件 index.php 和 write.php 使用了以下基本代码:

require_once('AppInfo.php');
if (substr(AppInfo::getUrl(), 0, 8) != 'https://' && $_SERVER['REMOTE_ADDR'] != '127.0.0.1') {
header('Location: https://'. $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
}
require_once('utils.php');
require_once('sdk/src/facebook.php');

$facebook = new Facebook(array(
'appId' => AppInfo::appID(),
'secret' => AppInfo::appSecret(),
));
$user_id = $facebook->getUser();

加载 index.php 后,向 write.php 发送 ajax 请求,write.php 向 Facebook 发送查询并将结果写入文本文件。 write.php 使用相同的代码来初始化 Facebook 对象。

这在本地测试时工作正常,但在上传到 Heroku 后它会给出任意结果。 $user_id 为 null 且代码无法超出 if($user_id) 或 $user_id 的值为 0,这会在稍后引发异常。

最佳答案

Facebook SDK 将登录数据存储在 session 中。由于您对 write.php 的 AJAX 请求未发送完整的 facebook POST 数据,因此 facebook 类假定没有签名请求,因此没有数据。

我有几次遇到同样的行为,问题始终是 session 没有正确建立。不幸的是,我不太确定确切的原因是什么。

关于php - Facebook 应用程序的结果在本地和 Heroku 上有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314380/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com