2012-01-18 6 views
0

私のウェブアプリケーションにstream.publish機能を追加しようとしていますが、 'フィード'ダイアログに問題があります。FB.uiダイアログ(iframe)が表示されません

私のコードは次のとおりです:

 var obj = { 
      method: 'feed', 
      display: 'iframe', 
      name: data.name, 
      link: data.link, 
      picture: data.picture, 
      caption: data.name, 
      description: data.description, 
      message: data.message, 
      actions: [{ 
       name: data.actions.name, 
       link: data.actions.link 
      }], 
      user_message_prompt: '' 
     } 

     var resp = FB.ui(obj, function(response) { 
      alert("DONE"); 
     }); 

私は私が代わりに「IFRAME」の「ポップアップ」を使用しますが、それは私が望むものではない場合はそれを動作させることができます。

フィードが画面に表示されない理由はありますか?

ありがとうございます!

+0

このコードはどこで使用しますか?キャンバスアプリケーション、サイト、ページタブ? –

答えて

1

あなたがiframeを指定した場合Dialogs documentation

で説明したように、あなたは有効なaccess_tokenを持っている必要があります。

iframe:ライトボックスにダイアログを表示し、この動作につながる可能性が他の文のカップルがある
は思え:有効access_tokenを取得するには、Authentication guide

の更新を参照してください。現在のページのiframe。クリックジャックの危険性があるため、これは特定のダイアログボックスでのみ許可されており、有効なaccess_tokenを渡す必要があります。

そしてこの1つです。また、約BUG #246637628719849開いあり

Facebookのキャンバスページで

、ダイアログだけのiframeアプリケーションでサポートされていると動作していない「ダイアログを送る」、またはあってもなくてもよいページのタブでiframe(など関連)。

アップデート2:
実はダイアログiframeの実装時には、ほとんどの場合にはうまく機能していなかった、そしてそれなしでFacebookのJS-SDKをしようとしているので、私はdisplayを指定せずにユーザーFB.uiをしたすべての私のアプリケーションで最も適切な表示モードを使用して...

Update3と:
OPはダイアログが不可視であることを引き起こして、隠れていた他のDOM要素内fb-rootを持っていた(彼はコメントで述べたように)

+0

私は有効なaccess_tokenを持っています。もしobjオブジェクトにそれを追加しても何も起きません。他のアイデア? –

+0

実際に私は別のdivの中にfb-root divを表示していました:noneは追加されていませんので、iframeが隠れています:$ –

+0

@AlbertoSheinfeld、あなたのコメントから私の答えを更新しました。それを受け入れることはありません、私たちはそれをリマインダーとして残します... –

関連する問題