0
아래 코드에는 정의되지 않은 변수가 있습니다. 그 변수는 $ access_token입니다. 프로그램이 예외를 생성하지 않고 실행할 수 있도록 새로운 액세스 토큰을 얻는 코드를 추가해야합니다. oauth flow 등에서 Facebook 문서를 읽고 있었지만이 코드가 받아 들일만한 토큰 중 하나를 얻는 방법을 알 수없는 것 같습니다. 아무도 이것으로 할 수있는 것을 알고 있습니까?서명 된 요청 예제 및 액세스 토큰 가져 오기
<?php
define('YOUR_APP_ID', 'x');
define('YOUR_APP_SECRET', 'x');
function get_facebook_cookie($app_id, $app_secret) {
$args = array();
parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args);
ksort($args);
$payload = '';
foreach ($args as $key => $value) {
if ($key != 'sig') {
$payload .= $key . '=' . $value;
}
}
if (md5($payload . $app_secret) != $args['sig']) {
return null;
}
return $args;
}
$cookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);
$access_token="214620421927216|fAAieRnJoDaWmBsG1stxfq4zKN4";
$url = 'https://graph.facebook.com/me?access_token=' . $access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
$user = json_decode($response);
print_r($user);
?>
<html>
<body>
<?php if ($cookie) { ?>
Welcome <?php ?>
<?php } else { ?>
<fb:login-button></fb:login-button>
<?php } ?>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({appId: '<?= YOUR_APP_ID ?>', status: true,
cookie: true, xfbml: true});
FB.Event.subscribe('auth.login', function(response) {
window.location.reload();
});
</script>
</body>
</html>