Heim >Backend-Entwicklung >Golang >Exchange-Webdienste – Finden Sie alle ungelesenen Nachrichten mithilfe der Soap-XML-Anfrage

Exchange-Webdienste – Finden Sie alle ungelesenen Nachrichten mithilfe der Soap-XML-Anfrage

WBOY
WBOYnach vorne
2024-02-12 21:30:08770Durchsuche

Exchange Web 服务 - 使用soap xml 请求查找所有未读消息

php-Editor Baicao ist hier, um Ihnen eine Methode zur Verwendung von Exchange-Webdiensten vorzustellen, um alle ungelesenen Nachrichten mithilfe von SOAP-XML-Anfragen zu finden. Exchange Web Services ist eine API für die Kommunikation mit Exchange Server, die den Zugriff auf und die Verwaltung von E-Mails, Kalendern, Kontakten und mehr ermöglicht. Mithilfe von SOAP-XML-Anfragen können wir eine Anfrage an den Exchange Server senden und die Daten zurückerhalten. In diesem Beitrag erfahren Sie, wie Sie mithilfe von SOAP-XML-Anfragen alle ungelesenen Nachrichten finden.

Inhalt der Frage abfragen

In meiner Anwendung muss ich den Exchange-Webservice-Server abfragen und alle ungelesenen Nachrichten finden. Ich verwende Golang und sende eine Soap-XML-Anfrage. Ich habe Folgendes versucht:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
    xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <t:RequestServerVersion Version="Exchange2013_SP1" />
    </soap:Header>
    <soap:Body>
        <m:FindItem
            Traversal="Shallow">
            <m:ItemShape>
                <t:BaseShape>IdOnly</t:BaseShape>
            </m:ItemShape>
            <m:Restriction>
                <t:IsEqualTo>
                    <t:FieldURI FieldURI="item:IsRead" />
                    <t:FieldURIOrConstant>
                        <t:Constant Value="false" />
                    </t:FieldURIOrConstant>
                </t:IsEqualTo>
            </m:Restriction>
            <m:ParentFolderIds>
                <t:DistinguishedFolderId Id="inbox" />
            </m:ParentFolderIds>
        </m:FindItem>
    </soap:Body>
</soap:Envelope>

Aber in diesem Fall erhalte ich eine Fehlermeldung, dass meine Anfrage falsch ist. Wenn ich 5762508ee778e8cb833abe130b8840ff entferne, erhalte ich alle Nachrichten in meinem Posteingang. Irgendwelche Ideen, wie man das Problem beheben kann, wären willkommen. Vielen Dank5762508ee778e8cb833abe130b8840ff,我会在收件箱中收到所有消息。任何如何修复它的想法都将受到欢迎。谢谢

解决方法

根据 fielduri 属性列表item:isread 应为 message:isreadLösung一>

Laut Fielduri-Attributliste, item:isread sollte <code>message:isread sein. Unten ist der Gleichheitsfilter von 🎜ews 🎜:🎜
<t:IsEqualTo>
  <t:FieldURI FieldURI="message:IsRead" />
  <t:FieldURIOrConstant>
    <t:Constant Value="false" />
  </t:FieldURIOrConstant>
</t:IsEqualTo>

Das obige ist der detaillierte Inhalt vonExchange-Webdienste – Finden Sie alle ungelesenen Nachrichten mithilfe der Soap-XML-Anfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen