페이스북 로그인시 이메일정보
본문
callback.php페이지에서
$content = $facebook->api('/me');
print_r($content);
echo "<br/>".$content['email'];
$content값을 확인하면 Array ( [name] => 이름 [id] => 1234567896082970 ) name랑 id값이나오고요
$content['email']로 값을 확인하면 이메일 정보는 넘어오지않아요....
혹시 다른페이지에서 변경해줘야될 값이 있는지;; 문의드려요 ㅠ
답변 2
로그인 URL을 생성하실 때 수집 항목에 추가 하셔야 합니다.
https://developers.facebook.com/docs/facebook-login/web/permissions
이 페이지 참고하세요. ^^
//ver1.0 150517 @_untitle_d
require_once(G5_PLUGIN_PATH.'/social_login/fb/facebook.php');
$config = array(
'appId' => FB_CONSUMER_KEY,
'secret' => FB_CONSUMER_SECRET
);
$facebook = new Facebook($config);
$user = $facebook->getUser();
// echo $user;
// exit;
if ($user){
try{
$content = $facebook->api('/me');
print_r($content);
echo "<br/>".$content['link'];
exit;
$str = "<a href='".$content['link']."' target='_blank'>".$content['first_name']."</a>
<font style='color:#c5c5c5'>(".($content['gender']=='female'?'♀':'♂').")</font><br>
<font style='color:#a1a1a1'>".str_replace('@', ' (at) ', $content['email'])."</font>";
$row = sql_fetch(" select count(*) as cnt from {$g5['member_table']} where mb_9 = '".$content['id']."' and mb_10 = 'fb' ");
if ($row['cnt']){
sl_login($content['id'], 'fb');
//소셜로그인
set_session('sl_id', $content['id']);
set_session('sl_sns', 'fb');
set_session('sl_str', $str);
set_session('sl_picture', 'https://graph.facebook.com/'.$content['id'].'/picture');
goto_url('/');
}else{
$row = sql_fetch(" select count(*) as cnt from `{$g5['member_table']}` where mb_email = '".$content['email']."' ");
if ($row['cnt']) alert('이미 사용중인 E-mail 주소입니다.', '/');
$fb_user = array(
'mb_id' => sl_id_check('fb'),
'mb_password' => SL_PASSWORD.$content['id'],
'mb_email' => $content['email'],
'mb_name' => str_replace(' ', '', $content['name']),
'mb_nick' => sl_nick_check(str_replace(' ', '', $content['first_name'])),
'mb_homepage' => $content['link'],
'mb_8' => 'https://graph.facebook.com/'.$content['id'].'/picture',
'mb_9' => $content['id'],
'mb_10' => 'fb'
);
$result = sl_register($fb_user); //회원가입
if ($result){
sl_login($content['id'], 'fb');
//소셜로그인
set_session('sl_id', $content['id']);
set_session('sl_sns', 'fb');
set_session('sl_str', $str);
set_session('sl_picture', 'https://graph.facebook.com/'.$content['id'].'/picture');
goto_url(G5_BBS_URL.'/member_confirm.php');
}
}
}catch(FacebookApiException $e) {
error_log($e);
$user = NULL;
}
}else{
//die('Error');
header('Location: /');
break;
}
!-->
답변을 작성하시기 전에 로그인 해주세요.