更新列表项多查找值字段 Microsoft Graph
Update list item multiple lookup value field Microsoft Graph
我正在尝试更新列表项的多查找值字段。
我尝试了以下代码:
List < QueryOption > options = new List < QueryOption > {
new QueryOption("$expand", "listitem")
};
//get drive item with list item
var driveItem = graphClient.Sites[IdGestDoc].Drive.Items[itemResult.Id].Request(options).GetAsync().Result;
var fieldValueSet = new FieldValueSet {
AdditionalData = new Dictionary < string,
object > {
{
"Theme_fonctionnel@odata.type",
"Collection(Edm.String)"
}, {
"Theme_fonctionnel", ThemeFonctionnel.ToArray()
} //ThemeFonctionnel is a List<string> => lookupid
}
};
await graphClient.Sites[IdGestDoc].Lists["Documents"].Items[driveItem.ListItem.Id].Fields.Request().UpdateAsync(fieldValueSet);
但是这段代码不起作用,我也没有找到我缺少的东西。
任何帮助将不胜感激!
要设置查找字段,您需要通过传入 属性 名称并添加 'LookupId':
来设置 属性
string propertyName = "Theme_fonctionnel";
var fieldValueSet = new FieldValueSet();
var propertyValuesArray = options.ToArray();
var attributes = new Dictionary<string, object>();
//first, we need to specify the input data type
string oDataTypeInfoPropertyName = propertyName + "LookupId@odata.type";
string oDataDataType = "Collection(Edm.String)";
attributes.Add(oDataTypeInfoPropertyName, oDataDataType);
//next, we need to pass the values as an array
string newPropertyName = propertyName + "LookupId";
attributes.Add(newPropertyName, propertyValuesArray);
fieldValueSet.AdditionalData = attributes;
我正在尝试更新列表项的多查找值字段。
我尝试了以下代码:
List < QueryOption > options = new List < QueryOption > {
new QueryOption("$expand", "listitem")
};
//get drive item with list item
var driveItem = graphClient.Sites[IdGestDoc].Drive.Items[itemResult.Id].Request(options).GetAsync().Result;
var fieldValueSet = new FieldValueSet {
AdditionalData = new Dictionary < string,
object > {
{
"Theme_fonctionnel@odata.type",
"Collection(Edm.String)"
}, {
"Theme_fonctionnel", ThemeFonctionnel.ToArray()
} //ThemeFonctionnel is a List<string> => lookupid
}
};
await graphClient.Sites[IdGestDoc].Lists["Documents"].Items[driveItem.ListItem.Id].Fields.Request().UpdateAsync(fieldValueSet);
但是这段代码不起作用,我也没有找到我缺少的东西。 任何帮助将不胜感激!
要设置查找字段,您需要通过传入 属性 名称并添加 'LookupId':
来设置 属性 string propertyName = "Theme_fonctionnel";
var fieldValueSet = new FieldValueSet();
var propertyValuesArray = options.ToArray();
var attributes = new Dictionary<string, object>();
//first, we need to specify the input data type
string oDataTypeInfoPropertyName = propertyName + "LookupId@odata.type";
string oDataDataType = "Collection(Edm.String)";
attributes.Add(oDataTypeInfoPropertyName, oDataDataType);
//next, we need to pass the values as an array
string newPropertyName = propertyName + "LookupId";
attributes.Add(newPropertyName, propertyValuesArray);
fieldValueSet.AdditionalData = attributes;