2012-01-18 4 views
0

앱 캔버스에 앱 사용자 생년월일을 표시 한 코드를 받았습니다.Canvas 앱이 사용자 ID를 다시 표시합니다. 수 시간 동안 노력했습니다.

사용자의 ID를 표시하기 위해 변경하려고했습니다. 그것은 나 자신 (창조자)을 위해 일하고 그것은 또한 내가 개발자로 지명 한 친구를 위해 일합니다. 하지만 다른 사람의 경우이 오류가 발생합니다.

Warning: file_get_contents(https://graph.facebook.com/me? 
fields=id&access_token=228073413942115|460d2e1ffd0b4cc6b5cb480d53f60d6e) 
[function.file-get-contents]: failed to open stream: HTTP request failed! 
HTTP/1.0 400 Bad Request in /home/robsdmr/public_html/fb/index.php on line 34 

코드는 다음과 같습니다.

<?php 
require_once("src/facebook.php"); 

$app_id = "xxxxxxxxxx"; 
$app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; 
$canvas_page = "https://apps.facebook.com/roblewtest/" .$app_id; 


$facebook = new Facebook(array(
'appId' => $app_id, 
'secret' => $app_secret, 
'cookie' => true, 
)); 

$access_token = $facebook->getAccessToken(); 


$auth_url = "https://www.facebook.com/dialog/oauth?scope=user_id&client_id=" 
. $app_id . "&redirect_uri=" . urlencode($canvas_page); 

$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true); 

if (empty($data["user_id"])) { 
echo("<script> top.location.href='" . $auth_url . "'</script>"); 
} else { 

} 

$graph_url = "https://graph.facebook.com/me?fields=id&access_token=" . $access_token; 
$result = json_decode(file_get_contents($graph_url)); 

echo "{$result->id}" 

?> 

포인터가 나는 그것이 내가 확실히 그립에 오전 범위하다는 느낌이

좋은 것, 그래서 나는이 꽤 새로운 오전,하지만 난 정말이 작업이 필요합니다.

많은 분들께 감사드립니다.

R.

답변

0

SDK의 그래프 methtod 사용해보십시오 : 당신이 사용할 수

$result = $facebook->api('/me?fields=id'); 

을 또한 로그인 URL을 얻을 :

$auth_url = $facebook->getLoginUrl(); 

문서 : 또한 api(), getLoginUrl()

간단한 코드,참조 210.

+0

나는 코드의 중간에 많은 중복 데이터가있는 것처럼 느껴진다. [link] (http://pastebin.com/jG5mm6B3) 아직도 조금 당황한 –

+0

정말 잘 안되지 만 작동합니까? 또한 예제를 확인할 수 있습니다 : https://github.com/facebook/php-sdk/blob/master/examples/example.php 그리고 내가 지루해하기 때문에, 나는 sipmplyfy 코드 :) – Kristian

+0

여기에 http로 이동 : //pastebin.com/PvbNk2hL – Kristian