2

我正在使用此功能启动 UI 提要,以便在我的墙上发布我网站上的内容。:

 FB.ui({
      method: 'feed',
      name: myname,
      link: window.location.href,
      picture: mypic,
      caption: '',
      description: desc
    },function(response){}
  });

我需要在回调中执行回调,我可以在其中检索我在 Facebook 对话框中插入的消息,我正在搜索但没有找到获取它的方法,我还尝试将 keydown 事件委托给对话框的 textarea ,但它不起作用。

我该如何解决这个问题?

4

1 回答 1

5

为了从对话框中创建的帖子中提取数据,您可以post_id从对话框提供的回调函数中检索 。在回调中,您将能够检查response对象。它将包含post_id已成功创建帖子的条件。

有了这个post_id,您可以对 API 执行额外的调用并提供 post_id` 作为端点:

https://graph.facebook.com/POST_ID

或者使用 JavaScript SDK:

FB.api( '/POST_ID', function( response ) {
  console.log( response );
} );

看看第二次调用的响应对象,它看起来像这样:

{
  "id": "POST_ID", 
  "from": {
    "name": "Lix", 
    "id": "XXXYYY"
  }, 
  "message": "Checkout this awesome link!", 
  "picture": "https://fbexternal-a.akamaihd.net/...", 
  ...
}

如您所见,消息包含在响应中,因此为了增强我之前的示例:

FB.api( '/POST_ID', function( response ) {
  if ( response ){
    console.log( response.message );
  }
} );

现在我们可以将它们与FB.ui调用放在一起:

 FB.ui({
      method: 'feed',
      ...
    },function( response ){
      if ( response && response.post_id ){
        FB.api( '/' + response.post_id, function( response ) {
          console.log( response );
        } );
      }
    }
  });
于 2013-11-14T11:30:15.920 回答