我有一个status_id并尝试发布新评论:
POST https://graph.facebook.com/STATUS_ID/comments {message: "text" }
我得到了结果
{
"error": {
"message": "(#200) Cannot access object_id: 10150593515092107",
"type": "OAuthException",
"code": 200
}
}
我可以为/喜欢做同样的POST,但它确实有用。
如果我向Photo添加评论,它也可以。然后我可以使用照片的object_id,但状态上不存在这样的字段。
答案 0 :(得分:5)
经过两天的奋斗,我找到了答案,至少对于常规职位。
Facebook上每篇文章的object_id
分为两部分:[author id]_[post id]
您可以在永久链接中清楚地看到它:https://www.facebook.com/permalink.php?story_fbid=[post id]&id=[author id]
所以当你使用完整的id时,它似乎有效!
现在真正的问题是为什么facebook不具备财产记录?!?我可以写一封愤怒的信来浪费我的时间。
它仍然不适用于视频或照片,例如因为我不知道它们的正确ID是什么,并且它不会写在任何地方。所以如果你成功请告诉我。
答案 1 :(得分:0)
这是一个实用的解决方案我知道,对于某些对象,需要用户标识,有些则不是(评论和喜欢)。
var message = 'WHATEVER MESSAGE';
FB.api('/'+object_id+'/comments','post',{
message:message
},function(r){
if (!r || r.error) {
// if it fails,send it back with the fbid on it
FB.api('/'+fbme.id+'_'+object_id+'/comments','post',{
message:message
},function(r){
if (!r || r.error) {
// if it fails again send back to server side for failure recording
$.post("actions.php",{
req:'badPost',
oid:object_id
},function(n){
});
}
});
}
});
这对我有用