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

使用MS Graph .NET SDK无法展开日历事件SingleValueExtendedProperties

解决MS Graph .NET SDK读取日历事件特定SingleValueExtendedProperty的问题

你的代码思路是对的,但大概率是细节没踩对,试试下面几个排查方向:

  • 核对属性ID的精准性
    把idTest里的GUID和属性名称和你在Teams Tab/Graph Explorer里用的完全对齐,大小写、空格、符号一个都不能错——比如属性名是customEventTag就别写成Customeventtag,GUID拼写错一位都不行。

  • 处理URL编码坑
    直接拼接字符串可能会触发URL编码问题,尤其是属性名带特殊字符的时候。试试手动编码ID后再传入:

    string encodedIdTest = Uri.EscapeDataString(idTest);
    Event result = await _graphServiceClient.Users[email].Events[eventId]
        .Request()
        .Expand($"singleValueExtendedProperties($filter=id eq '{encodedIdTest}')")
        .GetAsync();
    
  • 确认权限和身份验证
    别忽略权限配置:SDK调用必须拿到带Calendars.Read(或更高)权限的令牌,哪怕其他环境能用,也要检查SDK的身份验证流程是不是正确申请了对应权限。

  • 换个思路:本地过滤
    如果过滤展开的方式始终不行,先把所有扩展属性拉回来再本地筛选:

    Event result = await _graphServiceClient.Users[email].Events[eventId]
        .Request()
        .Expand("singleValueExtendedProperties")
        .GetAsync();
    
    var targetProperty = result.SingleValueExtendedProperties?
        .FirstOrDefault(p => p.Id == idTest);
    
  • 升级SDK版本
    老版本的Graph SDK对扩展属性的过滤支持可能有bug,直接更到最新稳定版(比如v5.x),确保和官方API的逻辑同步。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:12:05