Microsoft Graph API 自定义列未显示在项目字段中
Microsoft Graph API Custom Columns is not showing up in the Items Fields
我问了一个类似的问题,但我问的有点不对,因此提出了第二个更适合我的问题的问题。
我有一个包含自定义 fields/columns 的列表,我需要检索自定义 fields/columns 之一中的数据。但是,当我检索列表 none 中的项目时,我的自定义 columns/fields 没有显示在对象的字段列表中。
List<QueryOption> queryExpandFields = new List<QueryOption> { new QueryOption("$expand", "fields") };
IListItemsCollectionPage items = await GraphClient.Sites[sharepointSessionId].Lists[listName].Items.Request(queryExpandFields).GetAsync();
上面的代码获取了列表中的项目,但是,如前所述,我的 columns/fields 中的 none 在列表中。
例如
列表名称:ListNameTest
列:TestColumn1、TestColumn2、TestColumn3、TestColumnId
数据:TestColumn1:“狗”,TestColumn2:2021,TestColumn3:“一月”,TestColumnId:001
在我的代码中,我需要获取列表中的项目并检索 TestColumnId 中的数据。
在 graph-explorer 网站上,我尝试了以下终点。在这里,我确实在列中看到了我的自定义列列表,但是当我查看项目时,我没有看到列在项目的字段部分(或项目中的其他任何地方)
GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}?expand=columns,items(expand=fields)
我的总体目的是从列表中获取项目,对 TestColumnId 进行解析,因为这是从数据库中填充的数据。获取我在自定义列 (TestColumnId) 中填充的唯一 ID,以获取列表中该项目的 ID 值。然后,此 ID 值将传递给辅助列表,以填充将第一个列表作为第二个列表中的子列表的查找 ID。
现在我已经设置了所有这些代码,如果我对这些值进行硬编码,我就可以正常工作,但是我需要最后一个部分才能工作。
编辑:
我终于明白问题出在哪里了!在 QueryOptions 中,我必须对我想要的确切列进行选择。
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=ColumnName)")
};
var items2 = await GraphClient.Sites[siteid].Lists[listid].Items
.Request(queryOptions)
.GetAsync();
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=ColumnName)")
};
var items2 = await GraphClient.Sites[siteid].Lists[listid].Items
.Request(queryOptions)
.GetAsync();
我问了一个类似的问题,但我问的有点不对,因此提出了第二个更适合我的问题的问题。
我有一个包含自定义 fields/columns 的列表,我需要检索自定义 fields/columns 之一中的数据。但是,当我检索列表 none 中的项目时,我的自定义 columns/fields 没有显示在对象的字段列表中。
List<QueryOption> queryExpandFields = new List<QueryOption> { new QueryOption("$expand", "fields") };
IListItemsCollectionPage items = await GraphClient.Sites[sharepointSessionId].Lists[listName].Items.Request(queryExpandFields).GetAsync();
上面的代码获取了列表中的项目,但是,如前所述,我的 columns/fields 中的 none 在列表中。
例如
列表名称:ListNameTest
列:TestColumn1、TestColumn2、TestColumn3、TestColumnId
数据:TestColumn1:“狗”,TestColumn2:2021,TestColumn3:“一月”,TestColumnId:001
在我的代码中,我需要获取列表中的项目并检索 TestColumnId 中的数据。
在 graph-explorer 网站上,我尝试了以下终点。在这里,我确实在列中看到了我的自定义列列表,但是当我查看项目时,我没有看到列在项目的字段部分(或项目中的其他任何地方)
GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}?expand=columns,items(expand=fields)
我的总体目的是从列表中获取项目,对 TestColumnId 进行解析,因为这是从数据库中填充的数据。获取我在自定义列 (TestColumnId) 中填充的唯一 ID,以获取列表中该项目的 ID 值。然后,此 ID 值将传递给辅助列表,以填充将第一个列表作为第二个列表中的子列表的查找 ID。
现在我已经设置了所有这些代码,如果我对这些值进行硬编码,我就可以正常工作,但是我需要最后一个部分才能工作。
编辑:
我终于明白问题出在哪里了!在 QueryOptions 中,我必须对我想要的确切列进行选择。
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=ColumnName)")
};
var items2 = await GraphClient.Sites[siteid].Lists[listid].Items
.Request(queryOptions)
.GetAsync();
var queryOptions = new List<QueryOption>()
{
new QueryOption("expand", "fields(select=ColumnName)")
};
var items2 = await GraphClient.Sites[siteid].Lists[listid].Items
.Request(queryOptions)
.GetAsync();