c# - 使用他们的电子邮件地址 EWS 查找用户邮箱 GUID
问题描述
我正在开发 Outlook 插件并进行一些加密和解密。我在 POST 请求期间在服务器上创建了一些散列字符串。该字符串稍后将传递给 GET 请求,并且在服务器上我需要比较该散列字符串以查看用户是否与执行 POST 请求的用户相同。
当我发出 GET 请求时,我还使用Office.context.mailbox.userProfile.emailAddress
.
问题:如何使用他们的电子邮件地址找到用户的mailboxGUID(或包含mailboxGUID 等的帐户信息)?
解决方案
您想要 AD/目录 GUID 还是 ExchangeGUID ?您可以使用 ResolveName 获取 ADGuid 并指定属性集(从 2010 年开始有效),例如
PropertySet exProp = new PropertySet(BasePropertySet.FirstClassProperties);
NameResolutionCollection ncCol = service.ResolveName("user@domain.com", ResolveNameSearchLocation.DirectoryOnly, true, exProp);
if (ncCol.Count == 1)
{
Console.WriteLine(ncCol[0].Contact.DirectoryId);
}
MailboxGUID 构成了 FolderId 格式的一部分,因此如果您真的需要它,可以将其解析为https://msdn.microsoft.com/en-us/library/ee217297(v=exchg.80).aspx 。
推荐阅读
- java - 如何通过java以键值对的形式在android中添加复选框?
- python - IF语句只会考虑ELIF吗?
- ruby-on-rails - 属于帖子的自连接模型评论
- excel - Excel:在另一个公式中使用单元格的值而不是公式
- javascript - 选项卡处于活动状态时播放声音
- github - Github api 'List pull requests files' 仅返回 30 个文件
- excel - 用于分析医院实验室频率的“IF”功能
- java - ElasticSearch QueryBuilder must_not 子句的奇怪行为
- javascript - 通过图标复制到剪贴板
- php - 不和谐 sendMessage 睡眠 php