我正在使用此功能启动 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/