2011-09-26 131 views
1

不知道爲什麼這不起作用,並希望有人能夠指出我正確的方向。Facebook應用程序無法正常工作facebookhephp SDK

我有一個Facebook標籤應用程序,應該顯示不同的內容,取決於用戶是否喜歡我們。

require_once('src/facebook.php'); 
$app_id = "142214XXXXXXXX"; <--this is correct just hidden 
$app_secret = "31275c8895XXXXXXXX"; 
$facebook = new facebook(array(
'appId' => $app_id, 
'secret' => $app_secret, 
'cookie' => true 
)); 
$signed_request = $facebook->getSignedRequest(); 
$like_status = $signed_request["page"]["liked"]; 

//just for testing (nothing shows up, nor does print($signed_request) 
echo "the page is ".$page_id; 

if(!$like_status){ 
echo "Please LIKE US to get this offer or check back on Sept 27"; 
} else { 
echo '<img src="https://www2418.ssldomain.com/frightfurnace/SLOSSbogo.jpg"/><BR /> 
<a href="http://www.frightfurnace.com/coupon.asp">Printable Page</a>'; 
} 

現在,我知道SDK安裝並因爲它不與例如工作正常工作: http://www.frightfurnace.com/Facebook/example.php

我也確信我使用絕對URL在我的Facebook應用程序設置。 我正在使用 http://www.frightfurnace.com/Facebook/coupon.php

相同SSL。

任何想法,有點阻礙。所有幫助讚賞。

+0

我應該指出,不管發生什麼事情,我永遠不會得到$ signed_request,所以(!$ like_status)總是爲false。 –

回答

0

那麼找到答案,以防其他人需要它。

轉到Facebook上的應用 https://developers.facebook.com/apps/

轉到編輯設置

在左側單擊高級

signed_request的帆布:(使它啓用) 的iframe頁面標籤:(啓用)

在畫布設置確保畫布類型是 的iFrame

似乎爲我工作。

0

要檢查的另一件事:標籤/畫布網址必須完全相同所需。如果有重定向到另一個頁面,則不會發送已簽名的請求和其他值。您可以使用瀏覽器嗅探器進行檢查,如果對頁面的調用使用300(301/302等)重定向進行響應,則需要更改爲重定向到的內容。

實例:

https://example.com/可能需要https://www.example.com/(取決於服務器的設置方式添加萬維網,或刪除萬維網。。)

www.example.com/可能需要www.example .com/index.php(添加index.php或右頁)。

檢查您在URL中正確使用http://和https://並且該https://返回有效頁面。

相關問題