php小編百草在這裡向大家介紹一種利用Exchange Web服務的方法,透過使用SOAP XML請求來尋找所有未讀取訊息。 Exchange Web服務是一種用於與Exchange Server通訊的API,它提供了存取和管理電子郵件、行事曆、聯絡人等功能的能力。透過使用SOAP XML請求,我們可以向Exchange Server發送請求,並取得傳回的資料。在這篇文章中,我們將詳細介紹如何使用SOAP XML請求來尋找所有未讀訊息。
在我的應用程式中,我需要查詢 echange web 服務伺服器並查找所有未讀訊息。我正在使用 golang,並且正在發送soap xml 請求。我嘗試了以下方法:
<?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>
但在這種情況下,我收到錯誤訊息,表示我的請求不正確。如果我刪除 <t:isequalto>
,我會在收件匣中收到所有訊息。任何如何修復它的想法都將受到歡迎。謝謝
根據 fielduri 屬性清單,item:isread
應為 message:isread
。以下是從 ews 中的平等過濾器
一>:
<t:IsEqualTo> <t:FieldURI FieldURI="message:IsRead" /> <t:FieldURIOrConstant> <t:Constant Value="false" /> </t:FieldURIOrConstant> </t:IsEqualTo>
以上是Exchange Web 服務 - 使用soap xml 請求尋找所有未讀訊息的詳細內容。更多資訊請關注PHP中文網其他相關文章!