Java 如何使用microsoft graph api获取自定义扩展属性
我正在尝试使用microsoft graph获取用户详细信息 我在回复中寻找一个自定义扩展元素,例如“extension_3a4189d71ad149c6ab5e65ac45bd6add_MyAttribute1” 当我用字符串检索响应时,我可以看到所有元素Java 如何使用microsoft graph api获取自定义扩展属性,java,spring-boot,azure-active-directory,microsoft-graph-api,Java,Spring Boot,Azure Active Directory,Microsoft Graph Api,我正在尝试使用microsoft graph获取用户详细信息 我在回复中寻找一个自定义扩展元素,例如“extension_3a4189d71ad149c6ab5e65ac45bd6add_MyAttribute1” 当我用字符串检索响应时,我可以看到所有元素 final ResponseEntity<String> response = restTemplate.exchange("http://graph.windows.net/tenant.com/me?api-version=
final ResponseEntity<String> response = restTemplate.exchange("http://graph.windows.net/tenant.com/me?api-version=1.6, HttpMethod.GET, new HttpEntity(headers),String.class);
final ResponseEntity response=restemplate.exchange(“http://graph.windows.net/tenant.com/me?api-version=1.6,HttpMethod.GET,新的HttpEntity(headers),String.class);
但是当我用com.microsoft.graph.models.extensions.User检索响应时,我再也看不到扩展了
final ResponseEntity<User> response = restTemplate.exchange("http://graph.windows.net/tenant.com/me?api-version=1.6, HttpMethod.GET, new HttpEntity(headers),User.class);
final ResponseEntity response=restemplate.exchange(“http://graph.windows.net/tenant.com/me?api-version=1.6,HttpMethod.GET,新的HttpEntity(headers),User.class);
我如何才能以比获取字符串对象更优雅的方式检索自定义扩展并逐个查找元素?因为扩展属性是特定于租户的,这意味着它的非标准、sdk中没有现成的“对象类”会包含它,因为它附加了应用id。扩展名\u appid\u attribname。 所以你得自己处理。您可以尝试扩展user类并添加一个方法来读取或反序列化/映射来自graph api的json返回,类似于Hury所建议的,或者类似的方法。不太可能有现成的解决方案。 如果您真的不想手动映射对象,也有json库可以帮助您反序列化到某种动态对象 更新: 我深入研究了一下。但是,我发现在JavaSDK中您可以访问它。以下是文档:
你会这样做
String ext =
user
.additionalDataManager()
.get("extension_2lkj3l12jl3j2kj3_yourproperty")
.getAsString();
试试看
希望这能有所帮助 请使用api
https://graph.microsoft.com/beta/users
而不是https://graph.microsoft.com/v1.0/users
apihttps://graph.microsoft.com/beta/users
将返回带有用户自定义数据的所有数据。您可以尝试使用用户的所有字段(包括扩展字段)创建一个用户
实体(bean),并将此User
放入您的代码ResponseEntity
和User.class
是否还有其他包含此自定义扩展名的microsoft对象?我试过使用$expand=extension,但没有成功,因为我错过了阅读microsoft文档的机会。我本以为这个自定义扩展是它们元素的一部分。这些类型的扩展是否与文档中所称的“扩展”com.microsoft.graph.models.extensions.Extensionoh nice相同。