Maison >développement back-end >Golang >Services Web Exchange - Rechercher tous les messages non lus à l'aide de la requête Soap XML

Services Web Exchange - Rechercher tous les messages non lus à l'aide de la requête Soap XML

WBOY
WBOYavant
2024-02-12 21:30:08762parcourir

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

l'éditeur php Baicao est là pour vous présenter une méthode d'utilisation des services Web Exchange pour rechercher tous les messages non lus à l'aide de requêtes XML SOAP. Exchange Web Services est une API permettant de communiquer avec Exchange Server, qui offre la possibilité d'accéder et de gérer la messagerie, le calendrier, les contacts, etc. En utilisant des requêtes SOAP XML, nous pouvons envoyer une requête au serveur Exchange et récupérer les données. Dans cet article, nous détaillerons comment utiliser les requêtes SOAP XML pour rechercher tous les messages non lus.

Contenu de la question

Dans mon application, je dois interroger le serveur de service Web Exchange et trouver tous les messages non lus. J'utilise Golang et j'envoie une demande Soap XML. J'ai essayé ce qui suit :

<?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>

Mais dans ce cas, je reçois un message d'erreur indiquant que ma demande est incorrecte. Si je supprime 5762508ee778e8cb833abe130b8840ff, je reçois tous les messages dans ma boîte de réception. Toute idée sur la façon de résoudre ce problème serait la bienvenue. Merci5762508ee778e8cb833abe130b8840ff,我会在收件箱中收到所有消息。任何如何修复它的想法都将受到欢迎。谢谢

解决方法

根据 fielduri 属性列表item:isread 应为 message:isreadSolution一>

Selon la liste d'attributs fielduri, item:isread doit être <code>message:isread. Vous trouverez ci-dessous le filtre d'égalité de 🎜ews 🎜:🎜
<t:IsEqualTo>
  <t:FieldURI FieldURI="message:IsRead" />
  <t:FieldURIOrConstant>
    <t:Constant Value="false" />
  </t:FieldURIOrConstant>
</t:IsEqualTo>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer