簡體   English   中英

Facebook應用程序結果因本地和Heroku而異

[英]Facebook app results vary locally and on Heroku

在我的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請求,該請求會向Facebook發送查詢並將結果寫入文本文件。 write.php使用相同的代碼初始化Facebook對象。

這在本地測試時工作正常,但在上傳到Heroku后,它會產生任意結果。 $ user_id為null且代碼無法超出if($ user_id)或$ user_id的值為0,這會在以后引發異常。

Facebook SDK將登錄數據存儲在會話中。 由於您對write.php AJAX請求沒有發送完整的facebook POST數據,因此facebook類假定沒有簽名請求,因此沒有數據。

我有時遇到相同的行為,問題始終是,會話未正確建立。 不幸的是,我不太確定,究竟是什么原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM