Rumah >pembangunan bahagian belakang >Golang >Exchange Web Services - Cari semua mesej yang belum dibaca menggunakan permintaan xml sabun

Exchange Web Services - Cari semua mesej yang belum dibaca menggunakan permintaan xml sabun

WBOY
WBOYke hadapan
2024-02-12 21:30:08794semak imbas

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

editor php Baicao di sini untuk memperkenalkan kepada anda kaedah menggunakan perkhidmatan Web Exchange untuk mencari semua mesej yang belum dibaca dengan menggunakan permintaan XML SOAP. Exchange Web Services ialah API untuk berkomunikasi dengan Exchange Server, yang menyediakan keupayaan untuk mengakses dan mengurus e-mel, kalendar, kenalan dan banyak lagi. Dengan menggunakan permintaan XML SOAP, kami boleh menghantar permintaan ke Exchange Server dan mendapatkan data yang dikembalikan. Dalam siaran ini, kami akan memperincikan cara menggunakan permintaan XML SOAP untuk mencari semua mesej yang belum dibaca.

Kandungan soalan

Dalam aplikasi saya, saya perlu menanyakan pelayan perkhidmatan web echange dan mencari semua mesej yang belum dibaca. Saya menggunakan golang dan saya menghantar permintaan xml sabun. Saya mencuba perkara berikut:

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

Tetapi dalam kes ini, saya mendapat mesej ralat yang menyatakan permintaan saya tidak betul. Jika saya mengalih keluar 5762508ee778e8cb833abe130b8840ff saya mendapat semua mesej dalam peti masuk saya. Sebarang idea tentang cara membetulkannya adalah dialu-alukan. Terima Kasih / code> hendaklah message:isread. Di bawah ialah penapis kesaksamaan daripada 5762508ee778e8cb833abe130b8840ff,我会在收件箱中收到所有消息。任何如何修复它的想法都将受到欢迎。谢谢

解决方法

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

<t:IsEqualTo>
  <t:FieldURI FieldURI="message:IsRead" />
  <t:FieldURIOrConstant>
    <t:Constant Value="false" />
  </t:FieldURIOrConstant>
</t:IsEqualTo>

Atas ialah kandungan terperinci Exchange Web Services - Cari semua mesej yang belum dibaca menggunakan permintaan xml sabun. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam