es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Devolver un recuento de correos electrónicos dentro de la carpeta de la papelera.

Cómo puedo obtener el recuento de correos electrónicos dentro de la carpeta de la Papelera con complementos web de Outlook.
Intenté usar XML de EWS, pero muestra un error.

let xml =
    '<?xml version="1.0" encoding="utf-8"?>\n' +
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="https://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">\n' +
    '  <soap:Header>\n' +
    '    <t:RequestServerVersion Version="Exchange2007_SP1" />\n' +
    '  </soap:Header>\n' +
    '  <soap:Body>\n' +
    '    <m:GetFolder>\n' +
    '      <m:FolderShape>\n' +
    '        <t:BaseShape>IdOnly</t:BaseShape>\n' +
    '      </m:FolderShape>\n' +
    '      <m:FolderIds>\n' +
    '        <t:DistinguishedFolderId Id="inbox" />\n' +
    '      </m:FolderIds>\n' +
    '    </m:GetFolder>\n' +
    '  </soap:Body>\n' +
    '</soap:Envelope>'


var mailbox = Office.context.mailbox;
mailbox.makeEwsRequestAsync(xml, function(result) {
  console.log(result);
  //var response = $.parseXML(result.value);
  //var extendedProps = response.getElementsByTagName("ExtendedProperty")
});

Resultado:

message: "El servidor remoto devolvió un error: (500) Internal Server Error."
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el conteo de correos electrónicos dentro de la carpeta de Basura con Outlook Web Add-ins, puedes utilizar el método getEntitiesByType para recuperar el conteo de correos electrónicos en la carpeta de Basura.

    Primero, debes especificar el tipo de entidad como mailbox, luego pasar trash como ID de carpeta para recuperar el conteo de correos electrónicos en la carpeta de Basura. Aquí tienes un ejemplo de fragmento de código para lograr esto:

    Office.context.mailbox.getCallbackTokenAsync(function (asyncResult) {
        var mailboxItem = Office.context.mailbox.item;
        mailboxItem.getEntitiesByTypeAsync('mailbox', { 'Folder': 'trash' }, function (asyncResult) {
            var count = asyncResult.value.length;
            console.log(count);
        });
    });
    

    Puedes ver que primero obtenemos el token de devolución de llamada, luego usamos el método getEntitiesByTypeAsync para recuperar el conteo de correos electrónicos en la carpeta de Basura. Finalmente, registramos el conteo en la consola.

    Ten en cuenta que este método no utiliza EWS XML, por lo que no deberías encontrar el error que experimentaste con tu código anterior.

Comments are closed.