我正在尝试新的Open Graph操作来构建像Washington Post Social Reader这样的功能。我创建了“文章”类型的OG页面,并向他们发布了“news.reads”动作。我使用OG调试器验证了页面是有效的OG对象。并且用户授予了publish_actions权限。
我使用HTTP POST发布了一个操作:
https://graph.facebook.com/me/news.reads?article=((article link))&access_token=...
我从Facebook收到此错误:
type = u'OAuthException', message = u'An unknown error has occurred.'
所以我再次尝试相同的操作,这次我得到了另一个错误:
type = 'OAuthException'
message = '(#3501) User is already associated to a article object on a unique
action type Read. Original Action ID: ((action id))'
其中((操作ID))是有效的操作ID,我可以通过查看来验证:
http://graph.facebook.com/((action id))
这给了我关于行动的详细信息。我尝试了以上几次不同的页面和不同的用户,它是相同的流程:未知错误,重复操作错误。看起来似乎正在创建动作:
我错过了什么?
注意如果我使用自己的应用专用名词和动词执行上述操作,则一切都按预期工作。但是我有兴趣使用内置的名词和动词来更好地聚合用户的时间表。
答案 0 :(得分:2)
如果您的行动尚未获得Facebook批准,则不会向最终用户显示。只有“应用程序设置”的“角色”部分中列出的内容才能发布并查看活动日志中的操作(例如管理员,开发人员和测试人员)。
尝试使用测试用户测试操作。从“角色”页面创建一个新的测试用户并使用它们登录。查看操作是否已发布并在活动日志中正确显示。
答案 1 :(得分:0)
这是我用来发布视频手表的内容,您可以尝试这样做:
function postWatch()
{
FB.api('/me/video.watches' +
'?video=<?php echo $url; ?>','post',
function(response) {
if (!response || response.error) {
alert(response.error);
} else {
//alert('Post was successful! Action ID: ' + response.id);
}
});
}
答案 2 :(得分:0)
内置的“读取”操作被定义为“唯一”而您的操作类型不是(请参阅操作编辑屏幕中的“高级”部分)。您不能两次使用相同的对象URL提交Read。