FacebookJSSDK:FB.Login弹出框的替代方案
我正在使用FacebookJSSDK开发一个Facebook页面标签应用程序。在登录页上有一个按钮。单击后,如果用户尚未安装应用程序,则会要求用户安装应用程序 代码如下:FacebookJSSDK:FB.Login弹出框的替代方案,facebook,Facebook,我正在使用FacebookJSSDK开发一个Facebook页面标签应用程序。在登录页上有一个按钮。单击后,如果用户尚未安装应用程序,则会要求用户安装应用程序 代码如下: <script type="text/javascript"> function installApp() { FB.login(function(response) { if (response.authResponse) { var accessToken =
<script type="text/javascript">
function installApp() {
FB.login(function(response) {
if (response.authResponse) {
var accessToken = response.authResponse.accessToken;
}
if (response.status === 'connected') {
window.location = 'share.php';
} else {
alert('Please install app first');
}
}, {scope:'friends_likes,email'});
}
</script>
函数installApp(){
FB.登录(功能(响应){
if(response.authResponse){
var accessToken=response.authResponse.accessToken;
}
如果(response.status===“已连接”){
window.location='share.php';
}否则{
警报(“请先安装应用程序”);
}
},{范围:'friends_likes,email'});
}
默认情况下,将出现一个请求权限的弹出框。有没有其他方法可以避免弹出框?我见过其他Facebook应用程序成功地实现了这一点,但我不知道它们是如何做到的。你经历过这个过程吗
它几乎涵盖了所有可用的选项。i、 e:
您可能可以使用这些方法中的任何一种,但第三种方法可能最合适。您可以使用Javascript Api和图形Api调用来实现这一点
function fbLogin() {
var oauth_url = 'https://www.facebook.com/dialog/oauth/';
oauth_url += '?client_id=APP_ID_HERE';
oauth_url += '&redirect_uri=' + encodeURIComponent('https://apps.facebook.com/APP_NAMESPACE/');
oauth_url += '&scope=email'
window.top.location = oauth_url;
}
然后,您可以使用onclick事件在自定义按钮中调用它:
<a href="#" onclick="return fbLogin();">Custom Login</a>
我讨厌人们接受答案的方式,也讨厌人们从不公布这个答案是如何帮助他们的\这种方法在2017年仍然很有效!!避免弹出窗口!只要确保重定向uri正确,您可能需要将其添加到应用程序的域列表中