Диалоги iframe должны вызываться с помощью ключа сеанса - PullRequest
11 голосов
/ 14 ноября 2011

Я пытаюсь позвонить 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));
}

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);
}

Я также получаю неуказанную ошибку на странице входа (если она перенаправлена ​​туда для входа).

1 Ответ

2 голосов
/ 27 мая 2012

Если у вас есть токен доступа пользователя, укажите его в качестве параметра для вызова 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.'
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...