C# 查询用户';使用WebDAV的Exchange 2003上的s语言 如何从Exchange 2003以编程方式查询用户的语言/区域设置/区域?

C# 查询用户';使用WebDAV的Exchange 2003上的s语言 如何从Exchange 2003以编程方式查询用户的语言/区域设置/区域?,c#,outlook,exchange-server,webdav,exchange-server-2003,C#,Outlook,Exchange Server,Webdav,Exchange Server 2003,我正在使用api。我正在尝试获取一个方法签名,如: public string GetUsersLanguage(string username, string password){ //magic //return fr-FR, or en-US, or nl-NL, etc } Exchange 2003将配置默认文件夹(收件箱、日历等),以便在首次访问邮箱时与用户的区域设置相匹配。因此,对于荷兰人来说,收件箱变成了Postvak。我不希望检查顶级文件夹,并将其与查找表进行匹

我正在使用api。我正在尝试获取一个方法签名,如:

public string GetUsersLanguage(string username, string password){
   //magic

   //return fr-FR, or en-US, or nl-NL, etc
}
Exchange 2003将配置默认文件夹(收件箱、日历等),以便在首次访问邮箱时与用户的区域设置相匹配。因此,对于荷兰人来说,收件箱变成了Postvak。我不希望检查顶级文件夹,并将其与查找表进行匹配;还有别的办法吗

WebDAV api有一个属性,看起来它应该包含邮箱的关联语言(或者至少是像Inbox这样的顶级文件夹),但每当我查询该字段时,Exchange都会返回404:


我能找到一些接近的东西,但不完全是我想要的。Exchange2003 OWA有一个属性
spellingdictionarylanguage
,该属性可能包含与用户区域性非常接近的内容。我说,如果用户已登录OWA Premium(在兼容模式下通过IE)并显式设置拼写词典,则可以使用此字段

Resource resource = new Resource(session);

var allProps = resource.GetProperties();

Console.WriteLine(
    "Culture (Best Guess via Spelling Langauge): " +
     allProps
         .Where(x => x.Name == "spellingdictionarylanguage")
         .Select(x => x.Value)
         .FirstOrDefault() ?? "");
希望还有更好的方法来做到这一点。