繁体   English   中英

如何使用Facebook PHP Access Token与FB Javascript SDK for FB.UI对话框

[英]How to use Facebook PHP Access Token with FB Javascript SDK for FB.UI dialog

我试图在按钮单击为用户显示FB.ui对话框。 现在,我可以让对话框显示为弹出窗口,但我不希望这样。 我希望对话框显示为模式,以便弹出窗口阻止程序不会阻止它。 我尝试过使用“display:'iframe'”参数,但在使用时我得到错误:

“对话框”模式只能在用户连接时使用。

我已经读过,也许我需要使用访问令牌来使其显示为模态并使用display iframe参数。 请记住这是一个网站。

我已经在服务器端(PHP)的Laravel中有一个OAuth2包,负责验证Facebook用户,并提取访问令牌。 我的问题是,如何提取此令牌并将其应用于Javascript SDK,以便我可以将FB.ui对话框显示为模式? 我甚至需要这样做吗? 这是我正在使用的JavaScript:

window.fbAsyncInit = function () {
    FB.init({ appId: '************', cookie: true, status: true, xfbml: true, oauth: true });
    if (typeof facebookInit == 'function') {
        facebookInit();
    }
};
(function(d){
    var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
}(document));

function facebookInit() {
    FB.ui({
        url : 'http://url.com',
        method: 'feed',
        name: 'Url',
        link: url,
        display: 'iframe',
        picture: 'http://thisimage.png',
        caption: fb_description,
    }, function (response) {
        if (response && response.post_id) {
            window.location = "/artists";
        } else {
            window.location = "/artists";
        }                   
    });
}

我也有这个问题 - 事实证明我没有在我的Facebook应用程序设置上指定localhost域。 我添加它后,它工作正常。

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM