Maison > développement back-end > Golang > le corps du texte

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

WBOY
Libérer: 2024-02-12 21:30:08
avant
658 Les gens l'ont consulté

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>
Copier après la connexion

Mais dans ce cas, je reçois un message d'erreur indiquant que ma demande est incorrecte. Si je supprime <t:isequalto>, 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. Merci<t:isequalto>,我会在收件箱中收到所有消息。任何如何修复它的想法都将受到欢迎。谢谢

解决方法

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

Selon la liste d'attributs fielduri, item:isread< /code> 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>
Copier après la connexion

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!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!