本文档旨在指导开发者如何使用 Microsoft Graph API 正确地为 SharePoint 文件添加元数据。避免常见的 "invalidRequest" 错误,理解 `FieldValueSet` 的使用方式,并提供代码示例,助你轻松完成元数据更新。核心在于仅发送需要更新的元数据字段,而非整个 `FieldValueSet`。
在使用 Microsoft Graph API 为 SharePoint 文件添加元数据时,开发者经常会遇到 "invalidRequest" 错误。这通常是由于不正确地使用了 FieldValueSet 对象导致的。 本文将详细介绍如何避免此类错误,并提供正确的代码示例。
问题根源:
错误通常源于尝试使用 PUT 或 PATCH 方法更新 SharePoint 文件的 listItem/fields 时,发送了包含只读字段(如 id)的完整 FieldValueSet 对象。 SharePoint API 期望仅接收需要更新的字段,而不是整个对象。
解决方案:仅发送需要更新的字段
正确的做法是,创建一个新的 FieldValueSet 对象,仅包含需要更新的元数据字段。 不要包含任何只读字段或不需要更改的字段。
代码示例 (Groovy):
以下代码示例展示了如何正确地为 SharePoint 文件添加元数据:
import com.microsoft.graph.models.FieldValueSet import com.google.gson.JsonPrimitive private void addMetadataToFile(PlatformOidcUser platformOidcUser, String itemPath, MapmetaData) { // 创建一个新的 FieldValueSet 对象,仅包含需要更新的字段 FieldValueSet fieldValueSet = n ew FieldValueSet() metaData.each { data -> fieldValueSet.additionalDataManager().put(data.key, new JsonPrimitive(data.value)) } // 使用 PATCH 方法更新 SharePoint 文件的元数据 graphServiceClient.groups(platformOidcUser.defaultGroupId) .drive() .root() .itemWithPath(itemPath) .listItem() .fields() .buildRequest() .patch(fieldValueSet) }
代码解释:
注意事项:
总结:
要成功地为 SharePoint 文件添加元数据,请记住以下几点:
遵循这些步骤,你就可以避免 "invalidRequest" 错误,并轻松地为 SharePoint 文件添加元数据。