必须使用会话密钥调用iframe对话框

djh*_*101 11 iframe session facebook dialog

我正打算打电话FB.ui给iframe做一个墙贴.但是,当我将显示设置为iframe时,我得到了一个102 error "Iframe dialogs must be called with a session key".我有一个访问令牌,我已登录,其他一切似乎都在工作(我甚至可以使用PHP直接发送到流,而不会提示提示).有任何想法吗?

PHP:

require_once('facebook.php');
define('APP_ID',"276733022359677");
define('APP_SECRET',"xxxx");
$my_url = URI_B."/spider/";

$config = array();
$config['appId'] = APP_ID;
$config['secret'] = APP_SECRET;
$facebook = new Facebook($config);
$fbid = $facebook->getUser();
if($fbid == 0){
    $scope = "";
    header("Location: ".$facebook->getLoginUrl($scope));
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

FB.init({appId: "276733022359677", status: true, cookie: true});
function publish() {
    var obj = {
        display: 'iframe',
        method: 'feed',
        link: 'http://discussiontopic.comyr.com/spider/',
        name: 'Test',
        caption: 'Test Caption',
        description: 'This is a test.'
    };

    FB.ui(obj);
}
Run Code Online (Sandbox Code Playgroud)

我还在登录页面上收到一个未指定的错误(如果重定向到那里登录).

小智 2

如果您有用户的访问令牌,请将其指定为调用的参数FB.ui

var obj = {
    display: 'iframe',
    access_token: '<%= $access_token %>',
    method: 'feed',
    link: 'http://discussiontopic.comyr.com/spider/',
    name: 'Test',
    caption: 'Test Caption',
    description: 'This is a test.'
};
Run Code Online (Sandbox Code Playgroud)