Microsoft Graph SDK v5:如何在单次请求中完成Patch并获取数据?
Microsoft Graph SDK v5 单次更新并获取用户字段的实现
在Microsoft Graph SDK v5中,Patch请求默认返回的User对象为空,是因为Graph API本身不会在PATCH请求后自动返回完整资源,必须显式指定要返回的字段。你可以通过给PatchAsync方法添加请求配置,单次完成更新并获取目标属性,无需额外调用Get请求。
具体实现代码
var requestBody = new User { AdditionalData = new Dictionary<string, object> {{key, value}} }; var updatedUser = await _graphClient.Users[user.Id].PatchAsync(requestBody, (requestConfiguration) => { // 指定需要返回的用户字段,_userAttributes为你定义的字段集合(如new[] {"id", "displayName", "mail"}) requestConfiguration.QueryParameters.Select = _userAttributes; });
关键说明
- 这里通过
requestConfiguration.QueryParameters.Select设置$select参数,让Graph API在处理完更新后返回你指定的字段数据。 - 确保
_userAttributes中的字段是用户资源支持的可返回属性,避免因无效字段导致请求错误。
内容的提问来源于stack exchange,提问作者Nelssen
相关产品推荐
相关产品推荐

