恢复已删除的项目
本文内容
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
从已删除的项目 中还原最近删除的项目。
目前,仅应用程序、 servicePrincipal 、组 和用户 资源支持还原已删除的项目功能。 如果意外删除项目,可完全还原该项目。 这不适用于永久删除的安全组。
最近删除的项目将保留最多 30 天的可用时间。 30 天后,该项目将永久删除。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限 。
对于应用程序和服务主体:
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
Application.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
Application.ReadWrite.OwnedBy、Application.ReadWrite.All、Directory.Read.All
对于用户:
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
User.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
User.ReadWrite.All
对于组:
权限类型
权限(从最低特权到最高特权)
委派(工作或学校帐户)
Group.ReadWrite.All
委派(个人 Microsoft 帐户)
不支持。
应用程序
Group.ReadWrite.All
HTTP 请求
POST /directory/deleteditems/{id}/restore
名称
说明
Authorization
必需 的持有者<令牌>
Content-type
application/json
请求正文
请勿提供此方法的请求正文。
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和 directoryObject 对象。
示例
请求
POST https://graph.microsoft.com/beta/directory/deleteditems/46cc6179-19d0-473e-97ad-6ff84347bbbb/restore
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
await graphClient.Directory.DeletedItems["{directoryObject-id}"]
.Restore()
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
await client.api('/directory/deleteditems/46cc6179-19d0-473e-97ad-6ff84347bbbb/restore')
.version('beta')
.post();
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/directory/deleteditems/46cc6179-19d0-473e-97ad-6ff84347bbbb/restore"]]];
[urlRequest setHTTPMethod:@"POST"];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
graphClient.directory().deletedItems("46cc6179-19d0-473e-97ad-6ff84347bbbb")
.restore()
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
directoryObjectId := "directoryObject-id"
result, err := graphClient.Directory().DeletedItemsById(&directoryObjectId).Restore(directoryObject-id).Post()
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Restore-MgDirectoryDeletedItem -DirectoryObjectId $directoryObjectId
响应
注意:为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#directoryObjects/$entity",
"@odata.type":"#microsoft.graph.group",
"id":"46cc6179-19d0-473e-97ad-6ff84347bbbb",
"displayName":"SampleGroup",
"groupTypes":["Unified"],
"mail":"example@contoso.com",
"mailEnabled":true,
"mailNickname":"Example",
"securityEnabled":false,
"visibility":"Public"
}