1

我已經開發了一些facebook應用程序(用php寫的),應該允許用戶只有在喜歡某個fanpage時才能使用它。獲取有關Facebook喜歡的信息 - 奇怪的問題

一切工作良好,直到今天,當我收到用戶關於阻止訪問應用程序的反饋。

看起來應用程序不允許他們進入,因爲他們並不喜歡粉絲頁面,但重點是那些用戶已經喜歡那個粉絲頁面(我測試了很多次)。

林檢查,如果用戶喜歡用像/USER_ID/likes?target_id=PAGE_ID

此標準圖形請求的粉絲專頁,如果用戶喜歡頁面或空數組,如果他不大多返回一些陣列。在我的情況下,這些用戶總是空陣列。

我也檢查了/USER_ID/likes - 對於所有喜歡用戶的列表,對於普通用戶,我得到了他們喜歡的json數組的響應,如果「竊聽」用戶我再次獲得空數組。

進出口使用與phpsdk PHP,所以所有的請求都與$facebook->api(...)

我喜歡2個用戶現在這樣的問題,其他人都很好做。

我不確定如果我做錯了什麼或它是一些facebook錯誤。

我很樂意聽到任何有關Facebook API經驗的人的意見。

在此先感謝。

+1

請出示一些代碼,如果我錯了糾正 – mishik

回答

0

問題可能出自用戶未授權應用程序訪問用戶信息。您可以使用來自Facebook API的簽名請求來查看用戶是否喜歡該頁面,這會更可靠。

require 'facebook.php'; 
$app_id = "app_id"; 
$app_secret = "app_secret"; 
$facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
    'cookie' => true 
)); 
$signed_request = $facebook->getSignedRequest(); 
if($signed_request["page"]["liked"] != 1) { 
    // Render the blocker page 
}else{ 
    // Business as usual 
} 
+0

我,但我雖然'$ signed_request [「頁」] [「喜歡」]'當用戶喜歡的應用程序,而不是一個粉絲專頁返回true。我需要檢查他是否喜歡指定的fanpage而不是應用程序。 – lab6

+1

該變量用於fanpage而不是應用程序本身。 – Siphon

+0

謝謝,那就解決了我的問題。 – lab6