我正在通过 SharePoint Online 的 Microsoft Graph Rest API 上传文件。我正在利用云端硬盘上传 API 将文件推送到文档库中,但我没有看到在上传后或上传期间在文件上设置字段值的简单方法。查看 API 文档,似乎可以利用列表 API 来更新/设置字段,但您必须首先找到列表对象(文件(的 ID,然后执行修补程序以更新字段。我很好奇是否有一种方法可以使用文件 ID 或我从上传中获得的其他标签来轻松设置字段值?
我正在利用以下内容进行上传:
PUT /sites/{site-id}/drive/items/{parent-id}:/{filename}:/content
看来我需要按名称找到我上传的新文件,然后修补我要设置的字段:
GET https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items
PATCH https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/{item-id}/fields
发布答案编辑:
可以通过浏览驱动器对象的关系来获取列表 ID 值。
GET /sites/{site-id}/drive/items/{item-id}/ListItem
SharePoint 文档库中的项目是由 DriveItem 和 ListItem 组成的链接项目。您的 PUT 请求返回创建的 DriveItem。每个 DriveItem 都有一个名为 listItem 的属性,其中包含链接的 ListItem。 可以使用链表项的属性 ID 直接更新项,而无需搜索列表项。首先,上传文档并等待响应:
var driveItem = PUT /sites/{site-id}/drive/items/{parent-id}:/{filename}:/content
接下来,获取列表项的项 ID:
var listItemId = driveItem.ListItem.Id
然后,更新列表项:
PATCH https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/{listItemId}/fields
到目前为止,我还没有遇到更简单的方法。