나는 이것이 낡은 질문이지만, 다른 사람들이 이런 종류의 문제에 직면했다면 (나는 어떤 인터넷 검색이 이유 때문에 여기에 있음을 의미한다).
facebook 공유 대화 상자에서 공유하려면 로그인 할 필요가 없습니다. 당신이 사용하는 경우이 iOS 용 크롬에서 작동하지 않습니다
FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/',
}, function(response){});
하지만 회로 그러나 운이 좋게 (이 에 대한 해결 방법이 있습니다 :
https://developers.facebook.com/docs/sharing/reference/share-dialog
보통 당신은이 JS SDK를,과 같이 사용 PHP);
$isIosChrome = (strpos($_SERVER['HTTP_USER_AGENT'], 'CriOS') !== false) ? true : false;
if ($isIosChrome == true) {
$iosChromeShareLink = 'https://www.facebook.com/dialog/share
?app_id='.$settings['facebook']['appId'].'
&display=popup
&href='.urlencode($THE_SITE_U_WANT_TO_SHARE).'
&redirect_uri='.urlencode($settings['facebook']['redirectUrl']);
}
그래서 기본적으로, 사용자가 iOS에서 크롬을 사용하는 경우 감지 한 후 "FB 공유기"-link로하여 FB.ui 기능을 위해 트리거 요소를 교체해야합니다. 당신은 항상 공유기를 사용하고 싶지 않기 때문에 js sdk가 작동하지 않을 때만 사용하십시오.
그리고 인터넷상의 모든 사이트가 페이스 북으로 OG 객체로 취급되기 때문에 사이트에 올바른 OG 태그가 포함되어 있는지 확인하면됩니다.
그러나 페이스 북 앱 (또는 사이트)이 다른 목적으로 로그인해야하고 크롬에 의해 "지원되지 않는 브라우저"메시지가 표시되는 경우 PHP 리디렉션 로그인을 통해 사용자에게 로그인 할 수 있습니다 (이 경우 php SDK를 사용해야합니다) .
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\GraphUser;
use Facebook\FacebookRequestException;
/**
*FIXES CHROME ON IOS BUG
*
*
*/
$isIosChrome = (strpos($_SERVER['HTTP_USER_AGENT'], 'CriOS') !== false) ? true : false;
if ($isIosChrome == true) {
FacebookSession::setDefaultApplication(
$settings['facebook']['appId'],
$settings['facebook']['secret']
);
$helper = new FacebookRedirectLoginHelper($settings['facebook']['redirectUrl']);
$session = $helper->getSessionFromRedirect();
if ($session) {
//var_dump($session);
$user_profile = (new FacebookRequest(
$session, 'GET', '/me'
))->execute()->getGraphObject(GraphUser::className());
$uid=$user_profile->getID;
echo $uid;
}
else{
$loginUrl = $helper->getLoginUrl();
header("location:".$loginUrl);
exit;
}
}
[이 문제를 어떻게 해결 했나요?] [1] : http://stackoverflow.com/a/32394517/1435014 – apandey846