Mar*_*lun 9 facebook google-chrome ios fb.ui
我得到一个"不支持的浏览器:Chrome for ios不支持此功能.请尝试使用Safari上的FB.ui API打开共享对话框时使用safari并重试".
我想这个问题与iOS上的Chrome OAuth"Unsupported"相关,但我感兴趣的是共享而不是自身身份验证(即我不在乎用户是否会登录而我不会知道它).
我知道这是一个老问题,但如果其他人面临这种问题,(我的意思是一些谷歌搜索让我来这里是有原因的)。
Facebook 共享对话框不需要登录即可共享。
https://developers.facebook.com/docs/sharing/reference/share-dialog
通常你使用js sdk,如下所示:
FB.ui({
method: 'share',
href: 'https://developers.facebook.com/docs/',
}, function(response){});
Run Code Online (Sandbox Code Playgroud)
不幸的是,这在 iO 上的 Chrome 中不起作用,但幸运的是,有一个解决方法(如果您使用的是 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']);
}
Run Code Online (Sandbox Code Playgroud)
因此,基本上,您需要检测用户是否在 iO 上使用 Chrome,然后用“FB sharer”链接替换 FB.ui 功能的触发元素。因为你不想一直使用共享器,只有当js sdk不工作时才使用。
由于 facebook 会将互联网上的每个网站视为 OG 对象,因此您只需确保您的网站包含正确的 OG 标签即可。
但是,如果您的 Facebook 应用程序(或网站)需要出于其他目的登录,并且您面临 Chrome 的“不支持的浏览器”消息,您可以通过 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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5309 次 |
| 最近记录: |