API Google+: что такое «crosspostSource» и как отличить прямые акции от косвенных? - PullRequest
0 голосов
/ 10 января 2012

API-интерфейс Google + предоставляет три данные, относящиеся к отслеживанию источника повторных публикаций:

  • crosspostSource Если это действие является кросс-постом из другой системы, это свойство указываетИдентификатор исходного действия.
  • object.actor Если объект этого действия сам по себе является другим действием (например, когда человек перечитывает действие), это свойство указывает субъект исходного действия.
  • object.resharers Люди, которые опубликовали это действие.

API не очень-то объясняет это.

  1. WTF равен crosspostSource?Иногда это тот же идентификатор пользователя + некоторые дополнительные вещи, которые не описаны в API;иногда это число, которое не является идентификатором пользователя, но опять-таки не объясняется.

  2. Как я могу отличить прямой повторный обмен и косвенный поделится, в обе стороны?То есть, если A повторно публикует сообщение, я хочу иметь возможность различать B (первоначальный автор) и C (лицо, на чей переиздании сообщения B A щелкнуло «поделиться»).Точно так же я хочу отличить противоположное направление - люди, которые нажали «поделиться» с постом А, и те, кто нажал «поделиться» на каком-то последующем сообщении об этом.

1 Ответ

1 голос
/ 11 января 2012
  • crosspostSource - это удержание более старой версии спецификации ActivityStream.Скорее всего, в будущем оно будет переименовано в новое значение upstreamDuplicates, поэтому я бы не стал сейчас особо на него обращать внимание.Вы можете прочитать больше об этом здесь: http://activitystrea.ms/specs/json/1.0/#object

Это непрозрачный уникальный идентификатор, который предназначен для того, чтобы помочь вам дуплексировать объекты, когда вы агрегируете по нескольким источникам, выставленным многими различными поставщиками.

  • Звучит так, как будто вы пытаетесь взглянуть на график обмена информацией об активности.Это правильно?В этом случае перестройка графика для общедоступных действий может быть выполнена с использованием API в большинстве случаев.Это будет выглядеть примерно так:

    1. Начиная с произвольного повторного использования в дереве, вы обнаружите, что корневой узел (исходная запись) является объектом в действии.Захватите этот идентификатор действия.
    2. Теперь, когда у вас есть корневой узел, вы можете использовать people.listByActivities(resharers), чтобы получить первые 100 участников этого действия.
    3. Для каждого из этих участников делитесь своими потоками.Если они публично поделились деятельностью, вы должны найти ее.Затем вы можете использовать people.listByActivities(resharers) для этих действий, чтобы прокладывать себе путь вниз по дереву.

Это может привести к неполному графику, поскольку вы можете выбрать не более 100 участников дляактивности, и если кто-то повторно прочитает сообщение для ограниченной аудитории, вы не сможете обнаружить его с помощью API.

Однако может быть лучший способ работы с авторами для вашей конкретной ситуации.Не могли бы вы более подробно рассказать о том, что вы собираетесь делать с этими данными для восстановления?

...