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

如何在Power Apps中枚举Microsoft Graph API返回的toRecipients数组

解决方案:处理PowerApp中Graph API返回的嵌套toRecipients数组

1. 将嵌套收件人数组转为可读字符串(适合直接显示)

你之前尝试的Concat函数未成功,大概率是没正确遍历嵌套的emailAddress对象。针对单封邮件的toRecipients数组,正确的用法是逐层访问嵌套属性:

Concat(
    ThisItem.toRecipients,
    emailAddress.name & " <" & emailAddress.address & ">",
    "; "
)
  • 说明:遍历toRecipients数组中的每一项,提取收件人的名称和邮箱地址,用; 分隔拼接成字符串。如果不需要显示名称,直接使用emailAddress.address即可。
  • 空值处理:如果存在无收件人的邮件,可添加判断避免空字符串:
If(
    IsEmpty(ThisItem.toRecipients),
    "无收件人",
    Concat(ThisItem.toRecipients, emailAddress.name & " <" & emailAddress.address & ">", "; ")
)

2. 在Gallery中枚举单个收件人(嵌套控件实现)

如果需要单独展示每个收件人(比如每行一个收件人),可以在主邮件Gallery中嵌套一个子Gallery:

  • 主Gallery的Items属性:你的Graph API返回结果(例如Office365Groups.HttpRequest(...)的返回值)
  • 添加子Gallery到主Gallery的模板中,设置子Gallery的Items属性为:ThisItem.toRecipients
  • 在子Gallery的模板里添加标签,设置Text属性为:ThisItem.emailAddress.name & " (" & ThisItem.emailAddress.address & ")"

3. 确保Graph API请求正确返回字段

确认你的Office365Groups.HttpRequest调用的Graph API端点正确指定了toRecipients字段,示例如下:

Office365Groups.HttpRequest(
    "https://graph.microsoft.com/v1.0/me/messages?$select=subject,toRecipients,receivedDateTime&$top=100",
    "GET",
    ""
).value
  • 这里用$top=100可以获取最多100条邮件(Graph API默认返回100条,最大可调整至999),解决Office365.GetEmails仅能获取25条的限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 14:17:39