更新计划程序存储桶的orderHint时Microsoft Graph失败

时间:2018-06-05 10:26:32

标签: microsoft-graph

我试图更新Planner存储桶的订单。为此,我将该存储桶的orderHint值设置为<prevBucketOrderHint> <nextBucketOrderHint>!。这是我对bucket对象所做的唯一更改,但是,当我尝试保存更改时,出现以下错误:

Validation for field 'PlanId', on entity 'Bucket' has failed: This field is read only and cannot be changed

但是,我没有访问或修改PlanId的价值,因此我不明白为什么会收到此错误。

下面你可以找到我用来完成任务的代码(请注意,这是使用SDK的C#代码,变量gcMicrosoft.Graph.GraphServiceClient的有效实例):

theBucket.OrderHint = string.Format("{0} {1}!", previousBucket.OrderHint, nextBucket.OrderHint);
var etag = theBucket.GetEtag();

var result = gc.Planner.Buckets[bucketId].Request().Header("If-Match", etag).UpdateAsync(theBucket).Result;

您是否认为我的方法有任何错误,或者您对如何更改规划师计划中的存储分区有任何建议?

由于

1 个答案:

答案 0 :(得分:2)

我猜你有另一个电话的theBucket对象。 API端点需要一个仅包含要更新的属性的修补程序对象。您将现有对象作为修补程序对象发送。现有对象theBucket具有planId设置,该设置在服务处是只读的。

通过创建新的PlannerBucket并仅在其上设置OrderHint属性来修复它。在UpdateAsync方法中使用新的PlannerBucket。