2012-04-02 5 views
0

Ich bin ziemlich verwirrt mit der Facebook-Anwendung im Iframe. Ich habe der App Berechtigungen erteilt und darauf zugegriffen, aber die Anwendung verhält sich sehr merkwürdig. Wenn ich zu testen versuchen Withe selbst den Code:Can not getUser() in der Canvas-Seite mit PHP SDK

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

I 0. Auf der anderen Seite bekommen, wenn ich diese Art von Code verwenden:

$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); 

ich alle was ich brauche. Aber ich verstehe es einfach nicht, das Facebook sendet im ersten Beispiel nicht einmal signedRequest(). Muss ich mich anmelden, auch wenn ich die Anwendung in Facebook als Canvas-Seite verwende?

Antwort

0

OK fand es auf meinem eigenen

$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>"; 
} 
Verwandte Themen