You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:无法正常调用Redemption的RDOItems.Find API

解决Redemption中RDOItems.Find的"Unknown property name: sql"异常

Redemption的RDOItems.Find方法不支持Outlook对象模型里的@SQL查询语法,这就是你触发该异常的原因。要正确筛选HiddenItems中指定MessageClass的项,直接使用属性名+比较条件的格式即可。

正确的Find调用方式

要查找MessageClass为IPM.Configuration.ExtensionMasterTable的隐藏项,将Find方法参数改为以下两种格式之一:

  • 直接使用属性名:
RDOMail mail = hiddenItems.Find("MessageClass = 'IPM.Configuration.ExtensionMasterTable'");
  • 使用DASL属性路径(适合自定义属性场景):
RDOMail mail = hiddenItems.Find("http://schemas.microsoft.com/mapi/proptag/0x001A001E = 'IPM.Configuration.ExtensionMasterTable'");

修改后的完整代码

替换原出错的Find调用,同时可以去掉遍历循环(Find直接返回目标项),优化后的代码如下:

internal class Program
{
    private static RDOSession rdoSession;
    private static readonly string DASL = "http://schemas.microsoft.com/mapi/proptag/0x7C080102";
    static void Main(string[] args)
    {
        rdoSession = RedemptionLoader.new_RDOSession();
        rdoSession.Logon();

        try
        {
            RDOFolder inbox = rdoSession.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);
            RDOItems hiddenItems = inbox.HiddenItems;
            
            // 正确调用Find筛选目标项
            RDOMail mail = hiddenItems.Find("MessageClass = 'IPM.Configuration.ExtensionMasterTable'");
            
            if (mail != null)
            {
                // 直接转换字段值,无需循环赋值
                byte[] data = (byte[])mail.Fields[DASL];
                string result = System.Text.Encoding.UTF8.GetString(data);
                // 此处可处理获取到的result
            }
        }
        catch (Exception e)
        {
            System.Diagnostics.Debug.WriteLine(e);
        }
        finally
        {
            rdoSession.Logoff();
        }
    }
}

额外说明

  • 若需查找多个符合条件的项,可配合FindNext方法循环获取,直到返回null。
  • 代码中把字段值的循环赋值改为直接强制转换,因为Fields[DASL]返回的object[]本质是字节数组的包装,直接转换更高效。

内容的提问来源于stack exchange,提问作者ezG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:02:45