2011-06-03 136 views

回答

0

終於找到了解決辦法。在攜帶的Facebook應用程序的頁面,添加:

<?php 
$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 
$liked = isset($data["page"]["liked"]) ? $data["page"]["liked"] : ''; 
?> 

$喜歡=如果登錄用戶喜歡的頁面,否則爲false真。

0

這可能有點棘手,但前段時間我遇到了一個適用於我的解決方案。您可能想要使用JS調用(您可以在Flash中使用ExternalInterface調用/獲取數據)。在您的JS你就會有這樣的事情:

//me() gets replaced by the current viewer's uid 
var fan_qr = 'SELECT source_id FROM connection WHERE target_id = YOUR_APP_ID AND source_id = me()'; 

var fan_query = FB.Data.query(fan_qr); 
fan_query.wait(function(rows) { 

    if(rows[0] && rows[0]['source_id'] != "") { 
     //they're a fan 
    } else { 
     //they're not a fan 
    } 
} 

我忘了,我發現這個原本,而是道具那傢伙的計算出來。

由於您只能獲取有關當前用戶的數據,因此您不需要訪問令牌。我知道,FB剛剛調升對FQL安全要求的,所以如果你最終需要一個訪問令牌,你這是怎麼得到它:

​​

然後,我見過的人直接將它結束查詢是這樣的:

var fan_qr = 'SELECT source_id FROM connection WHERE target_id = YOUR_APP_ID AND source_id = me()&access_token=' + window.accessToken; 

如果不工作,你可以通過FB.api()執行查詢,並簡單地傳遞作爲的access_token一個額外的參數。

無論如何,希望這有助於。祝你好運!

相關問題