Java 从sharepoint获取metada(列信息)

Java 从sharepoint获取metada(列信息),java,sdk,metadata,microsoft-graph-api,Java,Sdk,Metadata,Microsoft Graph Api,我正在使用Microsoft Graph SDK for Java()从Sharepoint中提取文档。 除了GraphServiceClient提供的“标准”文档外,是否还可以提取有关文档的信息 这意味着通过GraphServiceClient,我可以通过以下方式获得createdBy、description、lastModifiedDateTime、webUrl。。。显然,我正试图提取可以在Sharepoint中额外定义的信息——可以为文档创建自定义字段/列,并为每个文档设置值 我想提取额外

我正在使用Microsoft Graph SDK for Java()从Sharepoint中提取文档。 除了GraphServiceClient提供的“标准”文档外,是否还可以提取有关文档的信息

这意味着通过GraphServiceClient,我可以通过以下方式获得createdBy、description、lastModifiedDateTime、webUrl。。。显然,我正试图提取可以在Sharepoint中额外定义的信息——可以为文档创建自定义字段/列,并为每个文档设置值


我想提取额外的“元数据”。我该怎么做呢?

只要试着在查询中添加$expand

items = client
  .users(mailbox)
  .drives(drive-id)
  .items(att.id)
  .buildRequest(Lists.newArrayList(new QueryOption("$expand","fields"))) 
  .get();
注: 并非所有自定义元数据都可以通过Graph API检索。

简称:

/items?expand=fields
我的实际测试查询:

https://graph.microsoft.com/v1.0/sites/{site id}/drives/{drive-id}/list/items?expand=fields
响应(MyTestMetadata1是我的测试元数据):


基本上,DriveItem关于sharepoint上文件的信息较少。 因此,使用ListItem就是获取为文档定义的所有内容

IGraphServiceClient graphClient = GraphServiceClient.
                                  builder().
                                  authenticationProvider(authenticator).
                                  logger(new Slf4jGraphLogger(logger)).
                                  buildClient();

ListItem fileMetadata = 
           graphClient.
           drives(driveId).
           items(item.id).
           listItem().
           buildRequest().get();
在那里,fileMetadata有“字段”,其中存储了所有元数据(自定义和常用)

我对单个文档的测试查询是:

  https://graph.microsoft.com/v1.0/sites/{site id}/drives/{drive-id}/items/{item-id}/listItem

回答与前面的回答相同

  https://graph.microsoft.com/v1.0/sites/{site id}/drives/{drive-id}/items/{item-id}/listItem
  https://graph.microsoft.com/v1.0/sites/{site id}/drives/{drive-id}/items/{item-id}/listItem/fields