Microsoft.Graph 4.0.0 创建包含列的列表时出错:错误:为名为 'id' 的属性找到空值



迁移到新版本的Microsoft后。图4.0.0。我的列表创建请求开始失败,在创建ColumnDefinition对象时出现错误。如果创建一个没有列的列表-它工作得很好:

Error: Code: invalidRequest
Message: [list] A null value was found for the property named 'id', which has the expected type 'Edm.String[Nullable=False]'. The expected type 'Edm.String[Nullable=False]' does not allow null values.
Inner error:
AdditionalData:
date: 2021-08-05T07:46:29
request-id: d1f5391d-38ad-4c8d-af12-0b6e10c1c750
client-request-id: d1f5391d-38ad-4c8d-af12-0b6e10c1c750
ClientRequestId: d1f5391d-38ad-4c8d-af12-0b6e10c1c750

我的列定义代码:

public static ColumnDefinition TextColumn(string columnName, bool isMultiText, bool isIndexed)
{
var text = new TextColumn();
if (isMultiText)
{
text.AllowMultipleLines = true;
text.TextType = "richText";
}
text.ODataType = "microsoft.graph.textColumn";
return new ColumnDefinition
{
Name = columnName,
DisplayName = columnName,
Text = text,
ReadOnly = false,
Required = false,
EnforceUniqueValues = false,
Indexed = isIndexed,
ODataType = "microsoft.graph.columnDefinition"
};
}

我的列表创建代码:

public static List NewLibrary(string name)
{
var Column1 = ColumnsBuilder.TextColumn("Column1", false, true);
var Column2 = ColumnsBuilder.TextColumn("Column2", false, true);


var listOfCols = new List<ColumnDefinition>() { Column1, Column2 };
var columns = new ListColumnsCollectionPage();
foreach (ColumnDefinition item in listOfCols)
{
columns.Add(item);
}
return new List()
{
DisplayName = name,
Columns = columns,
ListInfo = new ListInfo
{
Template = "documentLibrary"
}
};
}

和请求本身:

var library = ListsBuilder.NewLibrary(driveName);
try
{
List result = await _client.Sites[siteId].Lists.Request().AddAsync(library);

}
catch (ServiceException ex)
{
_logger.LogError("Error in Library creation:nName: {0}nError: {1}", driveName, ex.Message);
throw e;
}

文档已过时。请帮助!

问题出现在Microsoft Graph 4.0.0中的新JSON序列化器(JSON.NET)中。IT没有正确序列化嵌套集合。修复4.1.0

最新更新