Получите информацию о перспективах программно

2

У меня есть требование, когда мне нужно получить данные из папки "Pulic floder", которая содержит глобальную информацию, такую ​​как книжные комнаты для обсуждений/встреч и т.д., и эта папка находится на сервере, и я могу получить доступ к ней через oulook. Может ли кто-нибудь помочь мне, как мне получить доступ к такой же программной версии, С#?

Спасибо, Advance, Рави Наик.

  • 0
    Может быть важно знать, используете ли вы Outlook 2007 или что-то более старое.
  • 0
    Я использую MS Outlook 2003 ...
Теги:
outlook

5 ответов

1

Если вы используете исключительно клиент, используйте COM через Outlook. Или используйте WebDav для Exchange 2003 или ознакомьтесь с новыми веб-службами Exchange 2007.

Все зависит от того, где будет выполняться ваш код и/или версии Exchange, прежде чем решить, как это сделать.

Вам просто нужно убедиться, что приложение работает как пользователь с разрешениями Exchange.

0

Я изменил код на цикл через подпапки, извините за задержку ответа

using System;
using OutLook = Microsoft.Office.Interop.Outlook;

class OutlookFolders
{
    static void Main(string[] args)
    {
        OutLook.Application outlookObj = new OutLook.Application();
        GetSubFolders(outlookObj.Session.Folders);
    }
    private static void GetSubFolders(OutLook.Folders folders)
    {
        foreach (OutLook.MAPIFolder f in folders)
        {
            Console.WriteLine(f.Name);
            GetSubFolders(f.Folders);
        }
    }
}
  • 0
    Большое спасибо за приведенный выше код, но у меня есть папка «Папки Pulic», я могу получить к ней доступ, но как мне получить внутренние папки, имеющиеся в «Публичных папках»?
0

В прошлом мы использовали Outlook Redemption. Он работает через расширенный MAPI, поэтому он имеет больше возможностей, чем Outlook, с Microsoft.Office.Interop.Outlook

Существует еще один полезный инструмент - Outlook Spy, который позволяет вам обнаруживать объектную модель Outlook во время выполнения.

0

Ksempac, посмотрите здесь путь вперед:

http://msdn.microsoft.com/en-us/library/ms268893(VS.80).aspx

Пространство имен Microsoft.Office.Interop.Outlook ужасно работает, но с небольшим количеством Googling вы можете сделать несколько классных вещей.

0

Я знаю, что вы сказали С#, но если вы готовы немного поэкспериментировать, вот решение Perl, которое я успешно использовал в прошлом:

http://rasterweb.net/raster/code/src/vcalxical_pl.txt

На сервере Exchange вам необходимо включить IMAP, и это будет работать только с 2003 года. В календаре Exchange 2007 информация больше не сохраняется в папках, поэтому это будет прерываться. Вы также сказали, что вам просто нужно получить данные, а не изменять их.

Это решение будет работать с Exchange 2007:

http://blogs.msdn.com/exchangedev/archive/2009/02/05/quick-and-dirty-unix-shell-scripting-with-ews.aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню