使用Open Graph删除以前发布的文章,或检查是否已阅读所述文章

时间:2012-04-29 16:42:49

标签: javascript facebook-graph-api facebook-opengraph

我创建了一个用于阅读文章的简单应用程序,它使用以下代码创建帖子:

  FB.api('/me/[NAMESPACE]:read&article=http://example.com/article.html','post', function(response) {

                 if (!response) { 
                      alert('Error Occurred I got no response with ' + $pageURL);
                 }
                 else if (response.error) {
                      alert('Error Occurred' + response.responseText + " " + response.error.responseText);
                 } else {
                     alert('Post was successful! Action ID: ' + response.id);
                     var idToDeleteLater = response.id;
                 }
         });

我希望能够检查之前是否访问过该页面,因此我将能够禁止为同一篇文章进一步创建帖子。

但是为了做到这一点,我需要获取文章ID,并且我无法使用response.id命令来获取它,因为那个只给了我个人帖子的ID。

我不想使用给定的方法:

  function postUnreadSpecific()
  {
  var postId = idToDeleteLater;

  FB.api(postId, 'delete', function(response) {
  if (!response || response.error) {
    alert('Error occured');
  } else {
    alert('Post was deleted');
  }
});

因为阅读是通过按钮完成的(与烹饪教程中的相同),所以每当我按下按钮时,会创建新的帖子,使用不同的ID,我显然不想手动输入。

所以,底线,如何获取页面ID(不是带有response.id的帖子ID),并检查一下,如果以前访问过该页面,则禁用新帖子的创建......

1 个答案:

答案 0 :(得分:1)

Facebook Open Graph操作可以选择独一无二的。此设置位于“高级设置”链接下隐藏的“配置故事附件”下的操作创建页面上。在那里,你会发现一个叫做“唯一动作”的切换,可以设置为“仅允许一次”。这确保了每个用户只有一个“动作对象”对。

请注意,您需要在设置操作时执行此操作,因为操作在获得批准后无法进行编辑。

Example Action http://f.cl.ly/items/002g2E2R322z0Y2e1Y0i/Screen%20Shot%202012-04-29%20at%203.09.41%20PM.png