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

Microsoft Graph创建含multiValueExtendedProperties的隐藏邮件文件夹后无法获取属性

问题原因与解决办法

核心问题:Get请求未显式指定获取扩展属性

Microsoft Graph默认不会返回扩展属性——哪怕创建文件夹时已成功添加该属性,必须在Get请求中明确声明要获取这类属性,否则接口不会返回相关数据。

解决步骤

  1. PowerShell中创建带扩展属性的隐藏文件夹
    先确保创建逻辑正确,以下是可直接使用的PowerShell代码(需先通过Connect-MgGraph完成身份验证):

    $graphApiUri = "https://graph.microsoft.com/v1.0/me/mailFolders"
    $requestBody = @{
        displayName = "Test"
        isHidden = $true
        multiValueExtendedProperties = @(
            @{
                id = "StringArray {66f5a359-4659-4830-9070-00050ec6ac6e} Name Recreation"
                value = @("Food","Hiking","Swimming")
            }
        )
    } | ConvertTo-Json -Depth 3
    
    $createdFolder = Invoke-MgGraphRequest -Method Post -Uri $graphApiUri -Body $requestBody -ContentType "application/json"
    
  2. 正确获取包含扩展属性的文件夹数据
    执行Get请求时,必须通过$expand或$select参数指定返回扩展属性,两种实现方式如下:

    # 方式1:用$expand直接展开扩展属性
    $folderWithExtProps = Invoke-MgGraphRequest -Method Get -Uri "$graphApiUri/$($createdFolder.id)?`$expand=multiValueExtendedProperties"
    
    # 方式2:用$select指定要返回的字段(包含扩展属性)
    $folderWithExtProps = Invoke-MgGraphRequest -Method Get -Uri "$graphApiUri/$($createdFolder.id)?`$select=displayName,isHidden,multiValueExtendedProperties"
    

额外验证要点

  • 检查创建请求的返回响应:如果响应中完全没有multiValueExtendedProperties字段,可能是扩展属性的ID格式有误,需确认GUID、属性类型和名称的拼写是否符合规范。
  • 确认权限:当前账号或应用必须拥有Mail.ReadWrite权限,这是读写邮件文件夹及扩展属性的必要前提。

内容的提问来源于stack exchange,提问作者Manfred P.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 14:22:07