Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > как получить доступ к чужому ящику


Автор: SpaceSpace 2.7.2007, 10:27
Здрасте всем.

Следующая задача.

Используя OMM получить доступ к чужим календарям.
Естесственно если на то есть полномочия.

Код

Outlook.Application objOutlook = new Outlook.Application();
            Outlook.NameSpace objNS = objOutlook.GetNamespace("MAPI");
            
            objNS.Logon("","",false,true);
            Outlook.MAPIFolder folder = objNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);

вот к примеру подключаюсь к входящим Default аккаунта .
мне нужно тоже самое, но не к своему ящику, а к другому, зная другой ящик.

Автор: SpaceSpace 4.7.2007, 09:25
можно получить доступ к расшаренным папкам?

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

Автор: SpaceSpace 6.7.2007, 07:56
Ладно.
Сам отвечу на свой вопрос.  smile

1. юзаем COM.
подключаем outlook object model.

2. есть такая весчь как MAPI, её юзаем для вытаскивания всего и вся с текущего аккаунта
Но мне надо было чужие календари.
Не нашел ничего кроме  того, чтобы подключаться к расшаренным календарям.

Код

            // подключаемся к приложению outlook
            Outlook._Application olApp = new Outlook.ApplicationClass();
            // подклбчаемся к MAPI, кроме него все равно ничего нет
            Outlook._NameSpace olNS = olApp.GetNamespace("MAPI"); 
            // спец тип папок
            Outlook._Folders oFolders;
            // собственно получили доступ к папкам конкретного пользователя
            oFolders = olNS.Folders;

            // получаем чужого пользователя из контактов по его имени
            Outlook.Recipient oRecip = olNS.CreateRecipient("Ivan Ivanov");
            // пробуем получить ссылку на него
            oRecip.Resolve();
            if (oRecip.Resolved)
            {
                // ВОТ она, заветная папочка с чужим, но расшаренным календарем
                Outlook.MAPIFolder oFolder = olNS.GetSharedDefaultFolder(oRecip, Outlook.OlDefaultFolders.olFolderCalendar);         
            }


тема продолжается.
Подскажите люди добрые как избежать административного расшаривания, т.е. трудно заствавить ВСЕХ расшарить календари на кого нужно, учитывая все политики

есть еще серверные способы ExOLEDB, CDOEX -
подскажите, какие нужны полномочия, чтобы с помощью них получить доступ к хранилищу Exchange?
если решение будет клиент-серверным.

Автор: mihanik 10.7.2007, 07:33
Загляни на - http://www.askit.ru/custom/vba_office/vba_office_plan.htm может там найдёшь...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)