javascript - FB ui feed 在墙上发布后获取消息

标签 javascript jquery facebook facebook-graph-api

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

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

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

我该如何解决这个问题?

最佳答案

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

关于javascript - FB ui feed 在墙上发布后获取消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975993/

相关文章:

JavaScript:获取属性时检查对象是否为空或未定义

javascript - Jquery UI - 可调整网格和表格的大小

javascript - Google Maps API v3 选择信息窗口作为 jquery DOM 对象

PHP 中的 PHPMyAdmin 查询错误 #1064

javascript - console.log() 不输出 jQuery 选择对象的 HTML

javascript - 如何根据复选框输入更改 iframe 属性?

javascript - Google Analytics 事件不起作用 - 动态添加文件下载点击事件

javascript - 如何在具有缩放功能的 div 中适应和居中 css 家谱

ios - 我到底应该在哪里调用 [FBSettings publishInstall :appId]

facebook - 直接链接到 Facebook iFrame 应用程序中的页面?