3

当我进行 Graph 调用https://graph.facebook.com/me/home时,我会在我的提要中返回一组分页的帖子。最近,我开始获得一些似乎代表“John Doe 喜欢页面”之类的项目。它们被标记为链接,但如果我向 FB 询问该项目,我会返回一个状态帖子。这是一个删除个人数据的示例:

{
application =             {
    id = 2530096808;
    name = Pages;
};
comments =             {
    count = 0;
};
"created_time" = "2011-08-28T18:54:09+0000";
description = "some text";
from =             {
    id = xxxxxx;
    name = "John Doe";
};
icon = "https://s-static.ak.facebook.com/rsrc.php/v1/yN/r/xCxxxxxxQO.gif";
id = "xxxxxxx_xxxxxxxxx";
link = "http://www.facebook.com/pages/Ted.Smith/xxxxxxxx";
name = "(name of page)";
picture = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-snc4/276841_xxxxxxxxxx_xxxxx_q.jpg";
type = link;
"updated_time" = "2011-08-28T18:54:09+0000";
}

但是,如果我使用 id 要求这篇文章,我会得到:

{
  "id": "xxxxx_xxxxx", 
  "from": {
    "name": "John Doe", 
    "id": "xxxxxxx"
  }, 
  "type": "status", 
  "created_time": "2011-08-28T18:54:09+0000", 
  "updated_time": "2011-08-28T18:54:09+0000", 
  "comments": {
    "count": 0
  }
}

在 FB 中,我看到一个帖子,上面写着“约翰喜欢(页面名称)”。

我怎样才能识别这些?为什么它首先显示为链接,然后显示为状态更新?是否有任何有关此“活动”信息的文档?还有其他示例来自“John Doe 和其他人更改了他们的个人资料图片”等等。在我知道如何处理它们之前,我不得不做一些非常愚蠢、脆弱的过滤代码来删除它们。

帮助表示赞赏。

4

1 回答 1

2

我实际上有一个帖子问这个完全相同的问题。自从我大约一周前发布它以来,它得到了 0 个回复。

因此,根据我的研究和测试,以下是您问题的答案。

1)您无法识别这些消息中的大部分。如果您查看数据,可能会发现其中一些内容可能会让您了解它们是什么,但您会注意到它们缺少正确显示此更新所需的一些数据。

2) 某些消息似乎确实以状态或链接类型的形式随机出现。最常见的情况是,用户与另一个用户成为朋友,或者用户更新了他们的个人资料图片。

3)据我所知,没有办法正确获取有关这些消息的信息。我已经尝试了我能想到的一切来解决这个问题。您所能做的就是忽略不包含为报告类型填写的正确字段的消息。例如,如果你得到一个 'status' 类型并且它不包含消息字段,那么它显然不是一个真正的状态消息和某种你可能无法正确显示的子类型,所以跳过它。请确保在您决定无法显示数据之前查看数据,正如我所说的,尽管其中一些数据被报告为错误类型,但请务必为您提供足够的信息来显示它们。

当帖子与您的用户不是直接朋友的人有关时,您还将获得无用的数据。

希望有帮助。

于 2011-08-31T17:59:03.740 回答