2011-11-13 16 views
11

FB.uiに電話して、iframeにウォールポストを作成しようとしています。しかし、ディスプレイをiframeに設定すると、102 error "Iframe dialogs must be called with a session key"が表示されます。私はアクセストークンを持っています。私はログインしています。他のものはすべて動作しているようです(プロンプトを表示せずにPHPでストリームに直接投稿することもできます)。何か案は?セッションキーを使用してIframeダイアログを呼び出す必要があります

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

(ログインするためにそこにリダイレクトされた場合)私はまた、ログインページで指定されていないエラーが発生します。

+0

私は同じエラーに直面していました! :( –

答えて

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.' 
}; 
関連する問題