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, FindItem y GetItem 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 diferentes 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 qué procedimiento 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.