在我就此主题所做的所有研究中,90% 都已过时,这让我相信 Facebook JS SDK 最近在明确共享 Open Graph 故事方面发生了变化。我有以下代码:
function postToFB(desc){
FB.ui({
method: 'share_open_graph',
action_type: 'mynamespace:myaction',
action_properties: JSON.stringify({
myobject: "myobjectid"
})
}, function(response){});
}
这样做的问题是,它将尝试仅与我在应用程序设置的 Facebook Open Graph 部分中设置的设置共享 myobject。我想使用相同的对象,但每次共享时都使用动态“desc”变量更改描述。有谁知道如何做到这一点?我可以在应用程序设置的 Facebook Open Graph 部分静态设置标题,但我需要在每次共享时动态设置它。
我已经通过 Facebook JS SDK 搜索了可以添加到 action_properties 的其他键/值对,但是 SDK 在这方面的信息非常有限。
UPDATE
我修改了代码以包含 2 个调用,一个用于创建对象,第二个用于使用新对象的信息发布故事。这是代码:
function postToFB(desc){
FB.api(
'me/objects/mynamespace:myobject',
'post',
{
object: {
"app_id": myappid,
"type": "mynamespace:myobject",
"url": "myurl",
"title": "mytitle",
"image": "myimgurl",
"description": desc
}
},
function(response) {
console.log(response);
FB.ui({
method: 'share_open_graph',
action_type: 'mynamespace:myaction',
action_properties: JSON.stringify({
myobject: response.id
})
}, function(r){});
});
}
然而,根据这个问题的评论:Facebook 对象 API - 创建重复对象Facebook 的一名工作人员表示,这种方法不会得到 Facebook 的批准,因为用户的一个操作不能产生两个帖子,而这段代码现在可以做到这一点。一种会将对象发布到 Facebook 用户的活动日志,另一种将其发布到活动日志和新闻源。
如果我可以只进行一次调用并规定 FB.ui 函数本身的 myobject 描述应该是什么,那就太好了。有谁知道如何做到这一点?