Quiero acceder a carpetas y mensajes en un buzón de Office 365 Unified Group (aka conversaciones) con la API de jabón administrada EWS, pero no puedo encontrar una manera de acceder a ella.

Intenté acceder a la carpeta raíz del buzón con las 2 direcciones obtenidas por https://graph.microsoft.com/v1.0/groups/<group-id>?$select=proxyAddresses, con y sin el SPO: y SMTP: Prefixes, pero ninguno de ellos funcionó.

La solicitud fue en el formato a continuación:

<?xml version="1.0"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013"/>
    <t:ExchangeImpersonation>
      <t:ConnectingSID>
        <t:SmtpAddress>group-name@tenant-name.onmicrosoft.com</t:SmtpAddress>
      </t:ConnectingSID>
    </t:ExchangeImpersonation>
  </soap:Header>
  <soap:Body>
    <GetFolder xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <FolderShape>
        <t:BaseShape>Default</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="folder:ParentFolderId"/>
        </t:AdditionalProperties>
      </FolderShape>
      <FolderIds>
        <t:DistinguishedFolderId Id="root"/>
      </FolderIds>
    </GetFolder>
  </soap:Body>
</soap:Envelope>

Y este es el mensaje de error:

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <s:Fault>
            <faultcode xmlns:a="http://schemas.microsoft.com/exchange/services/2006/types">a:ErrorNonExistentMailbox</faultcode>
            <faultstring xml:lang="en-US">The SMTP address has no mailbox associated with it.</faultstring>
            <detail>
                <e:ResponseCode xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">ErrorNonExistentMailbox</e:ResponseCode>
                <e:Message xmlns:e="http://schemas.microsoft.com/exchange/services/2006/errors">The SMTP address has no mailbox associated with it.</e:Message>
                <t:MessageXml xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
                    <t:Value Name="SmtpAddress">group-name@tenant-name.onmicrosoft.com</t:Value>
                </t:MessageXml>
            </detail>
        </s:Fault>
    </s:Body>
</s:Envelope>
0
user3058273 27 jun. 2019 a las 15:10

1 respuesta

La mejor respuesta

No estoy seguro de si hay mejores métodos, pero elige un usuario de Office 365 normal para suplicar y decirle a la API que abra OTRA OTRAS OBRAS DE BÚSEL DE LA DIRECCIÓN DE MAIL:

<?xml version="1.0"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages">
  <soap:Header>
    <t:RequestServerVersion Version="Exchange2013"/>
    <t:ExchangeImpersonation>
      <t:ConnectingSID>
        <t:SmtpAddress>user@tenant-name.onmicrosoft.com</t:SmtpAddress>
      </t:ConnectingSID>
    </t:ExchangeImpersonation>
  </soap:Header>
  <soap:Body>
    <GetFolder xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
      <FolderShape>
        <t:BaseShape>Default</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="folder:ParentFolderId"/>
        </t:AdditionalProperties>
      </FolderShape>
      <FolderIds>
        <t:DistinguishedFolderId Id="inbox">
            <t:Mailbox>
              <t:EmailAddress>group-name@tenant-name.onmicrosoft.com</t:EmailAddress>
            </t:Mailbox>
        </t:DistinguishedFolderId>
      </FolderIds>
    </GetFolder>
  </soap:Body>
</soap:Envelope>
0
user3058273 28 jun. 2019 a las 03:23