Опубликовать запись об активности для всех и для меня

Я пытаюсь опубликовать запись об активности с классом ActivityService. Я хочу, чтобы все мои подписчики и я сам могли это увидеть.

это.

ActivityStreamService service = new ActivityStreamService();
service.postEntry("@me", "@all", "", jsonObject, header);

Я видел свою запись, но не своего подписчика

С этим.

ActivityStreamService service = new ActivityStreamService();
service.postEntry("@public", "@all", "", jsonObject, header);

Мой подписчик видел запись, а я не вижу эту.

У кого-нибудь есть идея, какая из них является правильной комбинацией?


person Andreas Nebel    schedule 30.07.2013    source источник


Ответы (2)


Есть несколько способов... 1 - Вы можете использовать метод распространения http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connections+4.5+API+Documentation#action=openDocument&res_title=Distributing_events_ic45&content=pdcontent openSocial : { "deliverTo":[ {"objectType":"person", "id":"tag:example.org,2011:jane"} ] }

*Для распространения этого контента вам потребуется специальная роль j2ee (роль trustedApplication в приложении WidgetContainer).

2 - Вы можете использовать ublog http://www-10.lotus.com/ldd/appdevwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connections+4.5+API+Documentation#action=openDocument&res_title=Posting_microblog_entries_ic45&content=pdcontent

ОТПРАВИТЬ на мою доску: /ublog/@me/@all { "content": "Новый тестовый пост" }

3 - В противном случае нужно делать несколько постов

Это означает, что событие должно быть отправлено отдельно каждому пользователю, который должен его получить. Чтобы гарантировать, что это можно сделать более эффективно, расширение спецификации Open Social допускает несколько способов распространения в модели данных.

Надеюсь, это поможет.

person Paul Bastide    schedule 30.07.2013
comment
Спасибо, это помогает. Выложу два раза :-) - person Andreas Nebel; 31.07.2013

Помимо объекта JSON openSocial, вы можете использовать объект to JSON.

Например, этот фрагмент JSON:

    "to":[
      {"objectType":"person", "id":"@me"}.
      {"objectType":"person", "id":"@public"}
      {"objectType":"community", "id":"xxx-xx-xxx0x0x0x0x0x"}
    ]

...может быть получено путем обновления вашего jsonObject следующим образом:

    // @me
    JsonJavaObject meJson = new JsonJavaObject();
    meJson.put("objectType","person");
    meJson.put("id","@me");

    // @public
    JsonJavaObject publicJson = new JsonJavaObject();
    publicJson.put("objectType","person");
    publicJson.put("id","@public");

    // Community
    JsonJavaObject communityJson = new JsonJavaObject();
    communityJson.put("objectType","community");
    communityJson.put("id","xxx-xx-xxx0x0x0x0x0x");

    // Shove them all in a list
    List<JsonJavaObject> toJson = new ArrayList<JsonJavaObject>();
    toJson.add(meJson);
    toJson.add(publicJson);
    toJson.add(communityJson);

    // add to: [...] to the root JsonJavaObject 
    jsonObject.put("to", toJson ) ;

Также: вот видео о добавлении пользователя в роль trustExternalApplication.

person dvdsmpsn    schedule 31.07.2013