使用Power Query获取Exchange日历预订时遇错误求助
Power Query获取Exchange邮箱预订记录报错问题
我尝试通过Power Query创建表格,借助日历ID获取Exchange邮箱XXXuniversity6@XXXuniversity.onmicrosoft.com下的所有预订记录,但操作时出现错误,想请教是操作有误还是该功能无法实现?
附当前使用的Power Query代码:
let Source = Exchange.Contents("XXXuniversity6@XXXuniversity.onmicrosoft.com"), Calendar1 = Source{[Name="Calendar"]}[Data], #"Filtered Rows" = Table.SelectRows(Calendar1, each ([DisplayTo] = "Person1" or [DisplayTo] = "Person2")) in #"Filtered Rows"
相关截图说明:
- Exchange数据源截图:展示了Exchange.Contents返回的可用文件夹列表,包含Calendar选项
- PQ错误截图:显示查询执行过程中触发的错误提示
排查方向及解决方案
- 权限验证
确认当前登录Power Query的账号拥有目标邮箱日历的读取权限,可先通过Outlook网页端尝试访问该邮箱的日历,验证权限是否正常。 - 日历名称匹配
检查目标邮箱的日历实际名称是否为Calendar,不同语言环境下日历名称可能不同(例如中文环境为“日历”),需对应修改代码中[Name="Calendar"]的名称值。 - 字段存在性检查
先加载Calendar1的完整数据,确认表中是否存在DisplayTo字段,避免因字段名拼写错误或字段不存在导致过滤失败。 - 参数格式调整
尝试将Exchange.Contents的参数替换为目标账号的用户主体名称(UPN),部分Exchange环境下UPN比邮箱地址的兼容性更好。
测试用代码示例
如果是中文日历名称,可先运行以下代码验证基础加载是否正常:
let Source = Exchange.Contents("XXXuniversity6@XXXuniversity.onmicrosoft.com"), Calendar1 = Source{[Name="日历"]}[Data], // 先保留核心字段查看数据 #"保留核心字段" = Table.SelectColumns(Calendar1, {"主题", "开始时间", "结束时间", "显示收件人"}) in #"保留核心字段"
内容的提问来源于stack exchange,提问作者IrishChristof
相关产品推荐
相关产品推荐

