Facebook graph api 重新共享状态的信息

Facebook graph api 重新共享状态的信息,facebook-graph-api,Facebook Graph Api,我在Facebook graph api上工作了几天。我试图提取用户的状态和信息的重新共享,如果有的话。我可以使用字段=id、名称、状态查询轻松找到用户的状态。但我找不到任何关于重新共享的信息。我找到了一个状态字段sharedposts。但我无法理解它到底在做什么。有谁能告诉我如何收集有关重新共享的信息(谁重新共享、何时重新共享、重新共享位置)。我使用了user_status access token。sharedposts字段应用于状态id。例如,状态id10151794781777494来自

我在Facebook graph api上工作了几天。我试图提取用户的状态和信息的重新共享,如果有的话。我可以使用字段=id、名称、状态查询轻松找到用户的状态。但我找不到任何关于重新共享的信息。我找到了一个状态字段sharedposts。但我无法理解它到底在做什么。有谁能告诉我如何收集有关重新共享的信息(谁重新共享、何时重新共享、重新共享位置)。我使用了user_status access token。

sharedposts
字段应用于状态id。例如,状态id
10151794781777494
来自TheKrazyCouponLady的状态更新,该状态更新已共享4次。此查询:

/10151794781777494?fields=sharedposts
将返回有关共享它的用户的所有信息。如果要将返回的字段限制为共享者的名称和id以及共享的时间和位置,可以执行以下操作:

/10151794781777494?fields=sharedposts.fields(from,created_time,place)
虽然我预计大部分时间不会有任何位置数据

要首先查找状态id,只需查询特定用户的状态字段即可。再次以KrazyCouponlady(uid 255919387493)为例:

/255919387493?fields=statuses
要仅获取ID,请执行以下操作:

/255919387493?fields=statuses.fields(id)

作为另一种选择,您可能需要考虑查询用户的<强> POST < /强>。使用posts的优点是,您可以获取该查询中每个post的共享计数

/255919387493?fields=posts.fields(id,shares)
如果一篇文章的共享计数为零,那么显然不需要运行另一个查询来检索共享该文章的用户

使用posts的缺点是post id与状态id略有不同。您将看到如下id:

255919387493_10151794781777494
/255919387493?fields=statuses.fields(id,message,sharedposts.fields(from,created_time,place))
该字符串的前半部分是帖子所有者的用户id。后半部分是实际状态id。如果要查询帖子的sharedposts字段,首先必须提取后半部分(状态id)并将其用于查询

话虽如此,我突然想到,如果将状态查询和共享邮件查询链接在一起,您实际上可以一次检索到所有需要的信息。例如,类似这样的内容:

255919387493_10151794781777494
/255919387493?fields=statuses.fields(id,message,sharedposts.fields(from,created_time,place))
这将返回来自该用户的每个状态的状态id和消息文本,以及用户详细信息,为共享每个状态的每个人创建时间和位置


即使使用分页,这也可能是一个相当慢的查询,所以我不确定这是否是一个好主意。但是值得考虑。

sharedposts字段适用于状态id。例如,状态id
10151794781777494
来自TheKrazyCouponLady的状态更新,该更新已共享4次。此查询:

/10151794781777494?fields=sharedposts
将返回有关共享它的用户的所有信息。如果要将返回的字段限制为共享者的名称和id以及共享的时间和位置,可以执行以下操作:

/10151794781777494?fields=sharedposts.fields(from,created_time,place)
虽然我预计大部分时间不会有任何位置数据

要首先查找状态id,只需查询特定用户的状态字段即可。再次以KrazyCouponlady(uid 255919387493)为例:

/255919387493?fields=statuses
要仅获取ID,请执行以下操作:

/255919387493?fields=statuses.fields(id)

作为另一种选择,您可能需要考虑查询用户的<强> POST < /强>。使用posts的优点是,您可以获取该查询中每个post的共享计数

/255919387493?fields=posts.fields(id,shares)
如果一篇文章的共享计数为零,那么显然不需要运行另一个查询来检索共享该文章的用户

使用posts的缺点是post id与状态id略有不同。您将看到如下id:

255919387493_10151794781777494
/255919387493?fields=statuses.fields(id,message,sharedposts.fields(from,created_time,place))
该字符串的前半部分是帖子所有者的用户id。后半部分是实际状态id。如果要查询帖子的sharedposts字段,首先必须提取后半部分(状态id)并将其用于查询

话虽如此,我突然想到,如果将状态查询和共享邮件查询链接在一起,您实际上可以一次检索到所有需要的信息。例如,类似这样的内容:

255919387493_10151794781777494
/255919387493?fields=statuses.fields(id,message,sharedposts.fields(from,created_time,place))
这将返回来自该用户的每个状态的状态id和消息文本,以及用户详细信息,为共享每个状态的每个人创建时间和位置


即使使用分页,这也可能是一个相当慢的查询,所以我不确定这是否是一个好主意。但是值得考虑。

根据API 2.1的新版本和此处的文档 有一个新的边缘称为“sharedposts”

如本文所述

此参考描述了共享的/sharedposts边缘 多个图形API节点。结构和操作是相同的 对于每个节点

此边表示在其中共享原始对象的任何帖子 脸谱网


根据API 2.1的新版本和此处的文档 有一个新的边缘称为“sharedposts”

如本文所述

此参考描述了共享的/sharedposts边缘 多个图形API节点。结构和操作是相同的 对于每个节点

此边表示在其中共享原始对象的任何帖子 脸谱网


如果帖子类型为photo sharedposts,则由于对象与postID不同,因此帖子将返回空

/317380948302131_847979698575584                  => Object : 847979378575616

/317380948302131_847979698575584/sharedposts?fields=from,via  
ObjectID将按预期工作

/847979378575616//sharedposts?fields=from,via   
唯一的问题是,如果对象是共享的帖子,那么它也会显示来自原始帖子对象的所有共享,并且不存在via节点。
如果帖子类型是photo sharedposts,为什么APi有时只返回sharedposts呢