簡體   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