图 API - 驱动器上传后更新 SharePoint 库字段
Graph API - Update SharePoint Library Fields after Drive Upload
我正在通过 Microsoft Graph Rest API 为 SharePoint Online 上传文件。我正在利用 Drive Upload API 将文件推送到文档库,但我没有看到在上传之后或上传期间设置文件字段值的简单方法。查看 API 文档,您似乎可以利用列表 API 到 update/set 字段,但您必须首先找到列表对象(文件)的 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
Post 答案编辑:
通过驱动对象的关系可以得到List ID值
GET /sites/{site-id}/drive/items/{item-id}/ListItem
SharePoint 文档库中的项目是由 DriveItem 和 ListItem 组成的链接项目。您的 PUT-Request returns 创建的 DriveItem。每个 DriveItem 都有一个名为 listItem 的 属性,其中包含链接的 ListItem。
您可以使用链表项的 属性 id 直接更新项目,而无需搜索 ListItem。首先上传文件,等待回复:
var driveItem = PUT /sites/{site-id}/drive/items/{parent-id}:/{filename}:/content
接下来,获取 ListItem 的项目 ID:
var listItemId = driveItem.ListItem.Id
然后,更新 ListItem:
PATCH https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/{listItemId}/fields
到目前为止,我还没有找到更简单的方法。
我正在通过 Microsoft Graph Rest API 为 SharePoint Online 上传文件。我正在利用 Drive Upload API 将文件推送到文档库,但我没有看到在上传之后或上传期间设置文件字段值的简单方法。查看 API 文档,您似乎可以利用列表 API 到 update/set 字段,但您必须首先找到列表对象(文件)的 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
Post 答案编辑:
通过驱动对象的关系可以得到List ID值
GET /sites/{site-id}/drive/items/{item-id}/ListItem
SharePoint 文档库中的项目是由 DriveItem 和 ListItem 组成的链接项目。您的 PUT-Request returns 创建的 DriveItem。每个 DriveItem 都有一个名为 listItem 的 属性,其中包含链接的 ListItem。 您可以使用链表项的 属性 id 直接更新项目,而无需搜索 ListItem。首先上传文件,等待回复:
var driveItem = PUT /sites/{site-id}/drive/items/{parent-id}:/{filename}:/content
接下来,获取 ListItem 的项目 ID:
var listItemId = driveItem.ListItem.Id
然后,更新 ListItem:
PATCH https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/{listItemId}/fields
到目前为止,我还没有找到更简单的方法。