2012-04-02 70 views
0

我在iframe中使用Facebook應用程序時感到非常困惑。我授予應用程序權限並訪問它,但該應用程序非常奇怪。如果我嘗試測試自己枝條代碼:在使用PHP SDK的畫布頁中無法獲取用戶()

$app = array(
'appId' => 'yyy', 
'secret' => 'xxx', 
'cookie' => true 
); 
$facebook = new Facebook($app); 
$user_id = $facebook->getUser(); 

我得到0。另一方面,如果我使用這種代碼:

$canvas_page = 'http://www.bandito.sk/facebook/canvas.php'; 
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" 
     . $app_id . "&redirect_uri=" . urlencode($canvas_page)."&scope=user_about_me,user_birthday,email,user_status"; 
$signed_request = $_REQUEST["signed_request"]; 
list($encoded_sig, $payload) = explode('.', $signed_request, 2); 
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

我得到的所有我需要什麼。但我只是不明白,Facebook甚至沒有在第一個例子中發送signedRequest()。 我是否必須登錄甚至難以使用Facebook內的應用程序作爲畫布頁面?

回答

0

確定發現它在我自己的

$request_ids = explode(',', $_REQUEST['request_ids']); 
print_r($request_ids); 
foreach($request_ids AS $request_id){ 
    $request_uri=$request_id."_".$data[user_id]; 
    $ch = curl_init('https://graph.facebook.com/'.$request_uri.'&access_token='.$data[oauth_token]); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); 
    $response = curl_exec($ch); 
    var_dump($response)."<br>"; 
} 
相關問題