3

我正在尝试新的 Open Graph 操作来构建华盛顿邮报社交阅读器等功能。我创建了“文章”类型的 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))'

其中 ((action id)) 是一个有效的操作 ID,我可以通过查看来验证:

http://graph.facebook.com/((action id))

这为我提供了有关该操作的详细信息。我用不同的页面和不同的用户尝试了上述几次,这是相同的流程:未知错误,重复操作错误。看起来正在创建操作,但是:

  1. 我没有在用户时间轴上看到它。
  2. 而且我在活动日志中看不到它。

我错过了什么?

注意如果我使用自己的应用程序特定名词和动词执行上述操作,一切都会按预期进行。但我有兴趣使用内置的名词和动词来更好地聚合用户时间线。

4

3 回答 3

2

如果您的操作未经 Facebook 批准,则不会向最终用户显示。只有那些列在应用程序设置的“角色”部分的人才能发布和查看活动日志中的操作(例如管理员、开发人员和测试人员)。

尝试使用测试用户测试操作。从“角色”页面创建一个新的测试用户并使用他们登录。查看操作是否已发布并正确显示在活动日志中。

于 2012-05-22T09:10:35.140 回答
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);
                }
        });
    }
于 2011-12-28T20:38:25.737 回答
0

内置读取操作被定义为“唯一”,而您的操作类型不是(请参阅操作编辑屏幕中的“高级”部分)。您不能两次使用相同的对象 url 提交 Read。

于 2012-03-28T09:57:09.013 回答