나는 $ user = $ facebook-> getUser()를 이해하지 못하기 때문에; 함수 (사용자가 로그인 한 경우에도 NULL을 반환합니다 ...)이 코드를 사용하여 노력하고있어. 문제는 "현재 사용자에 대한 정보를 쿼리하는 데 활성 액세스 토큰을 사용해야합니다."라는 내용입니다. OAuthException 그리고 만약 내가 로그를 리디렉션 코드를 잡아라 섹션에 그것은 끝없는 리디렉션 루프에 도착 ... 누군가가 나를 도울 수 있습니까?페이스 북 PHP SDK : api ('/ me') 이상한 행동
감사합니다. :)
try {
$user_profile = $facebook->api('/me');
$scope = 'publish_stream,user_photos';
$scope_params = explode(',',$scope);
$permissions = $facebook->api("/me/permissions");
if(array_key_exists('publish_stream', $permissions['data'][0]) && array_key_exists('user_photos', $permissions['data'][0])) {
// facebook logic
}else {
?>
<!doctype html>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<title>Redirect</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<script language=javascript>window.open('<?php echo $loginUrl ?>', '_parent', '')</script>
</head>
<body>
Redirecting...
</body>
</html>
<?php
exit;
}
}catch (FacebookApiException $e) {
echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
}
페이스 북에 문제가있어서 사용자를 인증 한 후 리디렉션을 포함 할 때마다 사용자를 인증하려고한다는 것을 기억합니다. 헤더 ('P3P : CP = "CAO PSA OUR"'); ' – Nightwolf
이 코드를 정확히 어디에 추가해야합니까? (만약 내가 맞다면이 헤더 수정은 IE 리디렉션 루프를위한 것입니다, 지금은 FireFox입니다.) – VORiAND
이것은 헤더이므로 모든 출력이 시작되기 전에 모든 페이지에 있어야합니다. 인증이나 변수를 잃어 버리지 않아야합니다. – Nightwolf