使用WebDAV在Exchange 2003上查询用户的语言

时间:2015-04-13 20:27:53

标签: c# outlook exchange-server webdav exchange-server-2003

如何以编程方式从Exchange 2003查询用户的语言/区域设置/区域?

我正在使用Independentsoft's Exchange WebDAV api。我试图获得方法签名,如:

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

   //return fr-FR, or en-US, or nl-NL, etc
}

Exchange 2003将在首次访问邮箱时配置默认文件夹(收件箱,日历等)以匹配用户的区域设置。因此荷兰语收件箱变为 Postvak IN 。我不想检查顶级文件夹并将其与查找表进行匹配;还有另一种方式吗?

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

Fiddler Screenshot

1 个答案:

答案 0 :(得分:0)

我能够得到一些接近的东西,但不是我正在寻找的东西。 Exchange 2003 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() ?? "");

希望还有更好的方法。