【问题标题】:How to use Facebook PHP Access Token with FB Javascript SDK for FB.UI dialog如何将 Facebook PHP 访问令牌与 FB Javascript SDK 一起用于 FB.UI 对话框
【发布时间】:2014-06-07 18:36:07
【问题描述】:

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

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

我已经读过,也许我需要使用访问令牌来使其显示为模式并使用显示 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";
        }                   
    });
}

【问题讨论】:

    标签: javascript php facebook facebook-graph-api facebook-javascript-sdk


    【解决方案1】:

    我也遇到了这个问题 - 原来我的 Facebook 应用设置中没有指定 localhost 域。添加后,效果很好。

    【讨论】:

      猜你喜欢
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 2012-10-02
      • 1970-01-01
      相关资源
      最近更新 更多