javascript - 使用 Open Graph 删除之前发布的文章,或检查该文章是否已被阅读

标签 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');
  }
});

因为阅读是通过一个按钮完成的(与 cooking 教程中的一样),所以每当我按下按钮时,就会创建新的帖子,具有不同的 ID,我显然不想手动输入它们。

那么,最重要的是,如何获取页面 ID(不是带有 response.id 的帖子 ID),并进行检查,如果之前访问过该页面,则禁止创建新帖子...

最佳答案

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

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

Example Action

关于javascript - 使用 Open Graph 删除之前发布的文章,或检查该文章是否已被阅读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373897/

相关文章:

javascript - 拖放和缩放图像,但用户上传的图片不可拖动和调整大小

java - Facebook requestNewPublishPermissions 的回调 - Android

facebook - 添加 facebook like 按钮会创建新页面。可以合并/修复吗?

html - HTML 前缀属性(开放图形协议(protocol))的含义?

javascript - 使用 JavaScript 模仿占位符行为

javascript - 获取父 ID 到变量中

Facebook API 返回 "Invalid OAuth access token signature."

facebook - 如何清除opengraph的图像标签代理缓存?

javascript - 了解 javascript 函数范围

javascript - 使用 Iframe 加载 facebook 注销 URL