2012-04-02 4 views
0

iframeでFacebookアプリケーションを使用するのはかなり混乱しています。私は、アプリケーションへのアクセス許可を与え、それにアクセスしましたが、アプリケーションは非常に奇妙な動作をします。私は自分自身がコード小枝をテストしようとした場合:PHP SDKを使用してキャンバスページでgetUser()を使用できない

$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

OKは自分でそれを見つけた

$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>"; 
} 
関連する問題