使用news.reads打开图表操作时出错

时间:2011-12-28 05:24:45

标签: facebook facebook-graph-api facebook-opengraph open-graph-beta

我正在尝试新的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))

这给了我关于行动的详细信息。我尝试了以上几次不同的页面和不同的用户,它是相同的流程:未知错误,重复操作错误。看起来似乎正在创建动作:

  1. 我没有在用户时间轴上看到它。
  2. 我没有在活动记录中看到它。
  3. 我错过了什么?

    注意如果我使用自己的应用专用名词和动词执行上述操作,则一切都按预期工作。但是我有兴趣使用内置的名词和动词来更好地聚合用户的时间表。

3 个答案:

答案 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。