Acceso a carpetas públicas con EWS en Exchange

Obtenga información sobre cómo usar EWS y la API administrada de EWS para acceder a carpetas públicas y enrutar solicitudes de carpetas públicas en Exchange.

Las carpetas públicas proporcionan un repositorio compartido de elementos a los que los usuarios de la organización pueden acceder. Office 365, Exchange Online y versiones locales de Exchange a partir de Exchange 2013 presentan una nueva arquitectura para carpetas públicas. Las carpetas públicas de Exchange usan un diseño de buzón especializado (en lugar de una base de datos de carpetas públicas) para almacenar la jerarquía de carpetas públicas y el contenido de carpetas públicas. Los permisos de carpeta pública se administran a través de Access Control basado en rol (RBAC).

Las tecnologías de acceso de cliente, como Exchange Web Services (EWS) y la API administrada de EWS, proporcionan acceso mediante programación a la jerarquía de carpetas públicas y a los elementos de contenido de una base de datos de carpetas públicas. En este artículo se proporciona información sobre cómo puede usar EWS y la API administrada de EWS para acceder a carpetas públicas, carpetas públicas y datos de carpetas públicas.

Operaciones de EWS y métodos de API administrada de EWS para el acceso a carpetas públicas

La mayoría de las operaciones principales de EWS admiten el acceso a carpetas públicas. Puede usar las operaciones de carpeta y elemento y los métodos de API administrada de EWS enumerados en la tabla siguiente para trabajar con carpetas públicas.

Para obtener información sobre los métodos de API administrada de EWS, vea Espacios de nombres de API administrada de EWS.

Operación de EWS Método de la API administrada de EWS
Operación CreateFolder
Folder.Save()
Operación UpdateFolder
Folder.Update()
Operación DeleteFolder
Folder.Delete()
Operación MoveFolder1
Folder.Move()
Operación CopyFolder2
Folder.Copy()
Operación GetFolder
Folder.Bind()
Operación EmptyFolder3
Folder.Empty()
Operación FindFolder
ExchangeService.FindFolders()
Folder.FindFolders()
Operación CreateItem
Item.Save()
Operación MoveItem
Item.Move()
Operación CopyItem
Item.Copy()
Operación UpdateItem
Item.Update()
Operación DeleteItem
Item.Delete()
Operación FindItem4
ExchangeService.FindItems()
Folder.FindItems()
Operación GetItem
Item.Bind()
Operación ConvertId5
ExchangeService.ConvertId()
ExchangeService.ConvertIds()

1 El traslado de carpetas entre una carpeta pública y una carpeta privada no está disponible en las versiones de Exchange a partir de Exchange 2013.

2 Esta operación solo se aplica a carpetas públicas en Exchange Server 2007 y Exchange Server 2010.

3 Esta operación solo se aplica a carpetas públicas en Exchange 2010.

4 La búsqueda indizada de texto completo dentro de una sola carpeta pública mediante la opción de búsqueda QueryString se admite en las versiones de Exchange a partir de Exchange 2013.

5 La operación ConvertId no convierte correctamente los identificadores de carpeta pública del identificador EWS al identificador de almacén. Puede actualizar manualmente el identificador que se devuelve como solución alternativa.

Las siguientes operaciones no se admiten, o se admiten parcialmente, para carpetas públicas en versiones de Exchange a partir de Exchange 2013:

  • CopyFolder (no compatible). Puede usar CreateFolder con la operación CopyItems para implementar la funcionalidad de la operación CopyFolder .

  • EmptyFolder (no compatible). Puede usar FindItem con la operación DeleteItem para implementar la funcionalidad de la operación EmptyFolder .

  • MoveFolder (parcialmente compatible). No se pueden mover carpetas entre carpetas privadas y públicas. Puede mover carpetas entre carpetas privadas y públicas en Exchange 2007 y Exchange 2010. Puede mover carpetas dentro de una carpeta pública en todas las versiones de Exchange.

EWS y la API administrada de EWS no admiten la siguiente funcionalidad para carpetas públicas:

  • Usar SyncFolderHierarchy. Use las operaciones FindFolder, GetFolder y SyncFolderItems para sincronizar elementos y carpetas en un buzón de carpeta pública.

  • Búsquedas de recorrido profundo de una jerarquía de carpetas públicas. Use llamadas de operación FindFolder recursivas para recorrer la jerarquía de carpetas públicas.

  • Usar la operación CreateFolderPath para crear una jerarquía de carpetas para carpetas públicas. Tendrá que usar la operación CreateFolder para cada nivel de carpeta en una jerarquía de carpetas distinta cuando tenga como destino un buzón de carpeta pública.

  • Uso de la operación CreateItem para guardar copias de los mensajes de correo electrónico enviados. En su lugar, use la operación MoveItem para mover una copia del mensaje a una carpeta pública.

Escenarios para usar EWS y la API administrada de EWS para trabajar con carpetas públicas

Las carpetas públicas permiten muchos escenarios importantes para los usuarios del buzón de Exchange. Puede capacitar a los usuarios mediante EWS y la API administrada de EWS para implementar soluciones personalizadas para acceder y usar carpetas públicas y su contenido.

Acceso mediante programación a mensajes de correo electrónico que se han enviado a listas de distribución

Los usuarios del buzón de Exchange pueden usar carpetas públicas para almacenar mensajes de correo electrónico que se envían a listas de distribución. Esta es una manera cómoda de guardar el historial de listas de distribución. Puede usar la operación FindItem en EWS o los métodos ExchangeService.FindItems() y Folder.FindItems() en la API administrada de EWS para acceder a los mensajes de correo electrónico de la lista de distribución almacenada.

Compartir mensajes de correo electrónico importantes y otros elementos de buzón

Los usuarios de buzones de correo pueden usar carpetas públicas como repositorio compartido para elementos de buzón. Diferentes usuarios de una organización pueden compartir mensajes de correo electrónico o contactos importantes mediante carpetas públicas. EWS puede proporcionar acceso a estos elementos de buzón compartidos. Puede usar la operación MoveItem en EWS o el método Item.Move() de la API administrada de EWS para mover mensajes de correo electrónico, contactos y otros elementos de buzón dentro y fuera de una carpeta pública.

Discusiones públicas con elementos de publicación

Las carpetas públicas son un contenedor práctico para elementos de publicación. Los elementos de publicación proporcionan una manera de usar conversaciones en subprocesos sin tener que enviar mensajes de correo electrónico entre los usuarios. Los usuarios pueden usar carpetas públicas y publicar elementos para hospedar y mantener conversaciones en subprocesos entre distintos usuarios de buzones de una organización. De este modo, los usuarios del buzón pueden acceder al historial compartido de una conversación que usa elementos de publicación aunque no formen parte de la conversación. Puede usar la operación CreateItem en EWS o el método Item.Save() en la API administrada de EWS para crear y responder a elementos de publicación almacenados en una carpeta pública.

Enrutamiento de solicitudes de carpetas públicas

El contenido de la carpeta pública se puede almacenar en varios servidores de buzones de correo. La jerarquía de carpetas públicas se puede almacenar en un buzón, mientras que el contenido de la carpeta pública se almacena en otro. Y cada uno de estos servidores puede ser diferente del servidor de buzones para el usuario que solicita la información. En estas situaciones, es importante incluir los encabezados X-AnchorMailbox y X-PublicFolderMailbox adicionales en las solicitudes de carpetas públicas para recibir información precisa sobre carpetas públicas.

El valor de X-AnchorMailbox y X-PublicFolderMailbox puede diferir en función de si está realizando una solicitud relacionada con la jerarquía de carpetas o el contenido de la carpeta. En la tabla siguiente se identifica el procedimiento que se debe seguir para cada método de API administrada de EWS o operación de EWS.

Métodos de API administrada de EWS y operaciones de EWS para enrutar solicitudes de carpetas públicas

Al llamar a estos métodos Al llamar a estas operaciones Uso de este procedimiento
Folder.FindFolders
Folder.Delete
Folder.Update
Folder.Move
CreateFolder
FindFolder
DeleteFolder
UpdateFolder
MoveFolder
Enrutamiento de solicitudes de jerarquía de carpetas públicas
Item.Bind
Item.Update
Item.Copy
Item.Move
Item.Delete
Folder.Bind
Folder.FindItems
CreateItem
GetItem
UpdateItem
CopyItem
MoveItem
DeleteItem
GetFolder
FindItem
Enrutamiento de solicitudes de contenido de carpetas públicas

Diferencias de versión

En Exchange 2007 y Exchange 2010, la operación ConvertId funciona según lo esperado al convertir los identificadores de carpeta pública del identificador EWS al identificador de almacén.

Vea también