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

如何通过Microsoft Graph Java SDK访问用户自定义Extension Property属性

MS Graph Java SDK访问用户扩展属性的最优方案

有两种无需处理原始响应的实现方案,可按需选择:

方案1:使用内置additionalDataManager直接读取

所有MS Graph SDK的模型类都内置了扩展字段存储容器,未在预设模型中定义的返回属性都会自动存入该容器,可直接读取:

// user为接口请求返回的User类实例
String favColour = (String) user.additionalDataManager()
    .get("extension_8655692d0a034443a9b32af6caa95f56_favColour");

该方案适合临时读取少量扩展属性的场景,无需额外定义类,只需注意属性不存在时会返回null,提前做好判空处理即可。

方案2:自定义扩展类实现强类型访问

如果需要类型安全、避免强转,或者需要频繁访问扩展属性,可自定义类继承原生User类,绑定扩展属性:

  1. 首先定义自定义User类:
import com.microsoft.graph.models.extensions.User;
import com.google.gson.annotations.SerializedName;

public class ExtendedUser extends User {
    // 注解值与你的扩展属性完整名称完全一致
    @SerializedName("extension_8655692d0a034443a9b32af6caa95f56_favColour")
    public String favColour;
}
  1. 请求时指定自定义类作为返回类型:
ExtendedUser user = graphClient.users("6dc2cecc-a3dd-4c18-ba7a-38b70db82e95")
    .buildRequest()
    .select("extension_8655692d0a034443a9b32af6caa95f56_favColour")
    .get(ExtendedUser.class);

// 直接访问属性即可
String favColour = user.favColour;

内容的提问来源于stack exchange,提问作者super.t

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:45:03