C# 如何使用Microsoft Graph.NET客户端库清除字段

C# 如何使用Microsoft Graph.NET客户端库清除字段,c#,azure,office365,azure-active-directory,microsoft-graph-api,C#,Azure,Office365,Azure Active Directory,Microsoft Graph Api,清除“简单”字符串属性(如使用的组的描述)的内容的正确方法是什么 设置一个非空的值可以很好地处理以下代码 var patch = new Group(); patch.Description = "your description here"; var req = new GroupRequest(graphClient.Groups["<group id>"].Request().RequestUrl, graphClient, new List<Option>());

清除“简单”字符串属性(如使用的组的描述)的内容的正确方法是什么

设置一个非空的值可以很好地处理以下代码

var patch = new Group();
patch.Description = "your description here";
var req = new GroupRequest(graphClient.Groups["<group id>"].Request().RequestUrl, graphClient, new List<Option>());
req.UpdateAsync(patch).Wait();
var patch=newgroup();
patch.Description=“此处为您的描述”;
var req=new GroupRequest(graphClient.Groups[“”].Request().RequestUrl,graphClient,new List());
req.UpdateAsync(patch.Wait();
但是,如果将patch.Description设置为“”,则会出现异常

代码:请求\请求消息:为属性指定的值无效 资源“组”的“说明”

如果我将patch.Description的值设置为null(对于Group()的一个新实例,它已经是null),那么什么都不会发生(我也可以在Fiddler中看到,补丁请求的主体中不包含任何描述)


因此,我的问题是,清除值的正确方法是什么?

目前,不支持将Description属性更新为null或空。作为解决方法,我们可以将其设置为空白。以下是一个样本供您参考:

patch.Description = " ";

如果您希望Microsoft Graph支持删除说明,您可以从提交反馈。

目前,不支持将说明属性更新为null或空。作为解决方法,我们可以将其设置为空白。以下是一个样本供您参考:

patch.Description = " ";

如果您希望Microsoft Graph支持删除说明,则可以提交来自的反馈。

清除字符串属性的正确方法是将其指定为空值。由于最近修复的服务问题,您的修补程序请求未按预期工作。不过,默认情况下,客户端库不发送空值。您可以使用AdditionalData属性包强制发送:

var groupToUpdate = new Group();
//groupToUpdate.Description = "New description";
var prop = new Dictionary<string, object>();
prop.Add("description", null);
groupToUpdate.AdditionalData = prop; 
await graphClient.Groups[groupId].Request().UpdateAsync(groupToUpdate);
var groupToUpdate=new Group();
//groupToUpdate.Description=“新建描述”;
var prop=新字典();
道具添加(“说明”,空);
groupToUpdate.AdditionalData=prop;
等待graphClient.Groups[groupId].Request().UpdateAsync(groupToUpdate);

清除字符串属性的正确方法是将其赋值为空值。由于最近修复的服务问题,您的修补程序请求未按预期工作。不过,默认情况下,客户端库不发送空值。您可以使用AdditionalData属性包强制发送:

var groupToUpdate = new Group();
//groupToUpdate.Description = "New description";
var prop = new Dictionary<string, object>();
prop.Add("description", null);
groupToUpdate.AdditionalData = prop; 
await graphClient.Groups[groupId].Request().UpdateAsync(groupToUpdate);
var groupToUpdate=new Group();
//groupToUpdate.Description=“新建描述”;
var prop=新字典();
道具添加(“说明”,空);
groupToUpdate.AdditionalData=prop;
等待graphClient.Groups[groupId].Request().UpdateAsync(groupToUpdate);

感谢您的反馈。此建议是在下提交的,以防其他任何人支持。经过进一步调查,此解决方案并不适用于所有字符串属性。User.name,即,在传递“”时也会出现“无效值”异常。感谢您的反馈。此建议是在下提交的,以防其他任何人支持。经过进一步调查,此解决方案并不适用于所有字符串属性。User.name,即,在传递“”时也会出现“无效值”异常。感谢您解决此问题。我剩下的问题是,如何“强制”Microsoft.NET图形客户端库发送这样的空值?在如上所示创建空组对象后,每个属性都用“null”初始化,就我所见,仅使用与null不同的属性来创建修补程序请求。我用示例代码更新了答案,以强制客户端库发送null值。感谢修复此问题。我剩下的问题是,如何“强制”Microsoft.NET图形客户端库发送这样的空值?如上所示创建空组对象后,每个属性都用“null”初始化,就我所见,仅使用与null不同的属性来创建补丁请求。我用示例代码更新了答案,以强制客户端库发送null值。