Google+ API:什么是'crosspostSource',以及如何区分直接与间接共享?

时间:2012-01-10 05:01:47

标签: google-api google-plus

Google+ activities API提供了三个与追踪转发来源相关的数据:

  • crosspostSource如果此活动是来自其他系统的交叉插件,则此属性指定原始活动的ID。
  • object.actor如果此活动的对象本身是另一项活动(例如,当某人转发活动时),则此属性指定原始活动的参与者。
  • object.resharers转发此活动的人。

尽管如此,API对此并不十分清楚。

  1. WTF是crosspostSource?有时它是相同的用户ID +一些额外的东西没有在api中解释;有时它是一个不是用户ID的数字,但是没有解释。

  2. 如何在两个方向上区分直接转发和间接转发?也就是说,如果A转发一个帖子,我希望能够区分B(原作者)和C(B的帖子A点击'分享'的转发者)。同样,我想要区分相反的方向 - 点击A分享'分享'的人,以及点击'分享'的人稍后分享它。

1 个答案:

答案 0 :(得分:1)

  • crosspostSource是旧版ActivityStream规范的延续。它可能会在未来的某个时间重新命名为新值upstreamDuplicates,因此我现在不会过多地关注它。您可以在此处详细了解:http://activitystrea.ms/specs/json/1.0/#object

这是一个不透明的唯一标识符,旨在帮助您在聚合多个不同提供商公开的多个来源时对对象进行重复数据删除。

  • 听起来您正试图瞥见活动的转发图表。这是正确的吗?如果是这样,在大多数情况下,可以使用API​​完成公共活动的图形重建。它会是这样的:

    1. 从树中的任意转发开始,您会发现根节点(原始帖子)是活动中的对象。抓住此活动ID。
    2. 现在您已拥有根节点,您可以使用people.listByActivities(resharers)来获取该活动的前100个转发器。
    3. 对于每个转发器,请获取其流。如果他们公开分享活动,您应该找到它。然后,您可以使用people.listByActivities(resharers)对这些活动进行操作。

这可能会导致图表不完整,因为您最多可以为活动获取100个转发器,如果​​有人向有限的受众转发帖子,您将无法通过API发现它。

但是,对于您的特定情况,可能有更好的方法与resharers一起工作。您是否可以更具体地了解您打算如何处理此转发器数据?