Задача: необходимо получить список групп в live messenger (LM) вместе с пользователями которые туда входят. Использую Interop.MessengerAPI (add reference и дальше выбираю COM-библиотеку). Делается это всё в 2003 студии под .net 1.1 (это так, на всякий случай, мало ли поможет).
Проблема: Список групп определяется верно, а вот пользователи которые в каждую из групп входят определяются неверно. Бывает что пользователи из группы "Собутыльники" оказываются в группе "Любовницы" или того хуже вообще отображаются как люди не входящие ни в одну из групп. Причем заметил, что если открыть LM и создать группы, поперетягивать туда ВСЕХ пользователей, то информация будет получена верно. Закрываем его, потом опять запускаем — инфа неверная . Версия LM — 8.0 (8.0.0812.00).
Простой пример:
Получаем список имён групп. Работает нормально.
static string[] GetMessengerGroupsNames(MessengerClass msn)
{
ArrayList groupNames = new ArrayList();
foreach (IMessengerGroup group in (IMessengerGroups)msn.MyGroups)
{
groupNames.Add(group.Name);
}
return (string[])groupNames.ToArray(typeof(string));
}
Получаем список имён контактов по имени группы. Не работает.
static string[] GetMessengerGroupContactsNames(MessengerClass msn, string messengerGroupName)
{
ArrayList contactsNames = new ArrayList();
foreach (IMessengerGroup group in (IMessengerGroups)msn.MyGroups)
{
if (group.Name == messengerGroupName)
{
foreach (IMessengerContact contact in (IMessengerContacts)group.Contacts)
{
contactsNames.Add(contact.SigninName);
}
}
}
return (string[])contactsNames.ToArray(typeof(string));
}
Т.е. если судить логически, то перебирая контакты группы "Любовницы" я должен получить их всех, но такого не происходит
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, Sidious, Вы писали:
КЛ>Наверное, любовницы и собутыльники имеют свойство иногда пить и общаться не с тобой
Это API больше не поддерживается, потому в Live Messenger не работает. Как ещё можно получить список групп и пользователей? Конечно можно коннектиться к серваку, логиниться (в общем старательно косить под мессенджер) и получать с него необходимую мне информацию Этот способ опробован и он работает. Но есть проблема: если запущен мессенджер, то U-зверя выбросывает (мы же залогинились из своей программы с его кредентиалами) и он начинает ругаться
Есть ли какой-то путь менее болезненного получения такой инфы?
Вот здесь есть контрол, который получает список пользователей (без групп), в мессенджере при этом можно быть залогиненным и сессия не прерывается, значит есть какой-то веб-сервис к примеру Кто-нибудь знает что-то по этому поводу?
Здравствуйте, Sidious, Вы писали:
S>Это API больше не поддерживается, потому в Live Messenger не работает. Как ещё можно получить список групп и пользователей? Конечно можно коннектиться к серваку, логиниться (в общем старательно косить под мессенджер) и получать с него необходимую мне информацию Этот способ опробован и он работает. Но есть проблема: если запущен мессенджер, то U-зверя выбросывает (мы же залогинились из своей программы с его кредентиалами) и он начинает ругаться S>Есть ли какой-то путь менее болезненного получения такой инфы? S>Вот здесь есть контрол, который получает список пользователей (без групп), в мессенджере при этом можно быть залогиненным и сессия не прерывается, значит есть какой-то веб-сервис к примеру Кто-нибудь знает что-то по этому поводу?
А он через Live Communication Service работает? Если да, то RTC должен помочь. Покрайней мере у меня работало
Здравствуйте, Константин Л., Вы писали: КЛ>А он через Live Communication Service работает? Если да, то RTC должен помочь. Покрайней мере у меня работало
Нет, не через (него судя по обфусцированному жаба-скрипт коду). А что такое RTC?
Здравствуйте, Sidious, Вы писали:
S>Здравствуйте, Константин Л., Вы писали: КЛ>>А он через Live Communication Service работает? Если да, то RTC должен помочь. Покрайней мере у меня работало S>Нет, не через (него судя по обфусцированному жаба-скрипт коду). А что такое RTC?
Здравствуйте, Константин Л., Вы писали:
КЛ>Здравствуйте, Sidious, Вы писали:
S>>Здравствуйте, Константин Л., Вы писали: КЛ>>>А он через Live Communication Service работает? Если да, то RTC должен помочь. Покрайней мере у меня работало S>>Нет, не через (него судя по обфусцированному жаба-скрипт коду). А что такое RTC?
КЛ>Real Time Communications. см RTC Client API