Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FacebookJSSDK:FB.Login弹出框的替代方案_Facebook - Fatal编程技术网

FacebookJSSDK:FB.Login弹出框的替代方案

FacebookJSSDK:FB.Login弹出框的替代方案,facebook,Facebook,我正在使用FacebookJSSDK开发一个Facebook页面标签应用程序。在登录页上有一个按钮。单击后,如果用户尚未安装应用程序,则会要求用户安装应用程序 代码如下: <script type="text/javascript"> function installApp() { FB.login(function(response) { if (response.authResponse) { var accessToken =

我正在使用FacebookJSSDK开发一个Facebook页面标签应用程序。在登录页上有一个按钮。单击后,如果用户尚未安装应用程序,则会要求用户安装应用程序

代码如下:

<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正确,您可能需要将其添加到应用程序的域列表中