FB ui 提要发布在墙上后收到消息

FB ui feed get message after posting on wall

本文关键字:消息 ui FB      更新时间:2023-09-26

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

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

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

我该如何解决这个问题?

为了从对话框创建的帖子中提取数据,您可以从对话框提供的回调函数中检索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 );
        } );
      }
    }
  });