更新 DriveItem 属性
命名空间:microsoft.graph
按 ID 或路径更新 DriveItem 元数据。
还可以通过更新项的 parentReference 属性,使用更新将 项移动到其他父级。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
Files.ReadWrite、Files.ReadWrite.All |
| 应用程序 |
Files.ReadWrite.All、Sites.ReadWrite.All |
HTTP 请求
PATCH /drives/{drive-id}/items/{item-id}
PATCH /groups/{group-id}/drive/items/{item-id}
PATCH /me/drive/items/{item-id}
PATCH /sites/{site-id}/drive/items/{item-id}
PATCH /users/{user-id}/drive/items/{item-id}
| 名称 |
类型 |
说明 |
| if-match |
String |
如果包含此请求标头,且提供的 eTag(或 cTag)与文件夹上的当前 eTag 不匹配,则返回 412 Precondition Failed 响应。 |
请求正文
在请求正文中,提供应更新的属性的值。
请求正文中不包括的现有属性将保留其以前的值,或根据对其他属性值的更改重新计算。为了获得最佳性能,应用不应包括尚未更改的属性。
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和更新的 DriveItem 资源。
示例
本示例将 DriveItem 资源重命名为“new-file-name.docx”。
PATCH /me/drive/items/{item-id}
Content-type: application/json
{
"name": "new-file-name.docx"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var driveItem = new DriveItem
{
Name = "new-file-name.docx"
};
await graphClient.Me.Drive.Items["{driveItem-id}"]
.Request()
.UpdateAsync(driveItem);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const driveItem = {
name: 'new-file-name.docx'
};
await client.api('/me/drive/items/{item-id}')
.update(driveItem);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/drive/items/{item-id}"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphDriveItem *driveItem = [[MSGraphDriveItem alloc] init];
[driveItem setName:@"new-file-name.docx"];
NSError *error;
NSData *driveItemData = [driveItem getSerializedDataWithError:&error];
[urlRequest setHTTPBody:driveItemData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
DriveItem driveItem = new DriveItem();
driveItem.name = "new-file-name.docx";
graphClient.me().drive().items("{item-id}")
.buildRequest()
.patch(driveItem);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
如果成功,此方法将在响应正文中返回 driveItem 资源。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK",
"name": "new-file-name.docx",
"file": { }
}
错误响应
请参阅错误响应,详细了解错误返回方式。