Как я могу отправить сообщение пользователю SameTime из другой системы? - PullRequest
3 голосов
/ 01 апреля 2011

Я думаю, что я спрашиваю, какие методы доступны для отправки сообщений SameTime пользователям? Это версия, интегрированная в Notes 8.5.

Есть ли командная строка, веб-служба, .Net API, Java API, LotusScript Orr или что-то еще?

1 Ответ

4 голосов
/ 07 апреля 2011

Существует бесплатный Java API здесь . Выдержка ниже является простым примером того, как отправить сообщение.

final STSession session = new STSession("SameTimeSender");
session.loadAllComponents();
session.start();

CommunityService comm = (CommunityService) session.getCompApi(CommunityService.COMP_NAME);
comm.addLoginListener(new LoginListener() {

    public void loggedOut(LoginEvent arg0) {
    }

    public void loggedIn(LoginEvent arg0) {
        LookupService lookup = (LookupService) session.getCompApi(LookupService.COMP_NAME);
        Resolver resolver = lookup.createResolver(true, false, true, false);
        resolver.addResolveListener(new ResolveListener() {

            public void resolved(ResolveEvent re) {
                STUser user = (STUser) re.getResolved();

                InstantMessagingService imservice = (InstantMessagingService) session.getCompApi(InstantMessagingService.COMP_NAME);

                final Im im = imservice.createIm(user, EncLevel.ENC_LEVEL_NONE, ImTypes.IM_TYPE_CHAT);
                im.addImListener(new ImListener() {

                    public void textReceived(ImEvent arg0) {
                    }

                    public void openImFailed(ImEvent arg0) {
                    }

                    public void imOpened(ImEvent arg0) {
                        im.sendText(false, "hello world!");
                    }

                    public void imClosed(ImEvent arg0) {
                    }

                    public void dataReceived(ImEvent arg0) {
                    }
                });
                im.open();
            }

            public void resolveFailed(ResolveEvent arg0) {
            }

            public void resolveConflict(ResolveEvent arg0) {
            }
        });

        resolver.resolve(recipientId);
    }
});

comm.loginByPassword(hostname, userId, password);
...