还原客户的已删除用户
如何按客户 ID 和用户 ID 还原已删除的用户。
先决条件
合作伙伴中心身份验证中所述的凭据。 此方案只支持使用应用凭据和用户凭据进行身份验证。
客户 ID (
customer-tenant-id
)。 如果不知道客户的 ID,可以通过选择“客户”工作区,然后从客户列表中选择客户,然后选择“帐户”,在合作伙伴中心中查找该 ID。 在客户的“帐户”页上,在“客户帐户信息”部分查找 Microsoft ID。 Microsoft ID 与客户 ID (customer-tenant-id
) 相同。用户 ID。 如果没有用户 ID,请参阅 查看客户已删除的用户。
GDAP 角色
至少需要以下 GDAP 角色之一:
- 用户管理员
- 目录写入者
还原已删除的用户帐户
删除用户帐户时,用户状态设置为“非活动”。 30 天后,用户帐户及其关联数据将清除并使其不可恢复。 在此 30 天时段,只能还原已删除的用户帐户。 删除并标记为“非活动”后,用户帐户将不再作为用户集合的成员返回(例如,使用 获取客户的所有用户帐户的列表)。
C#
若要还原用户,请创建 CustomerUser 类的新实例,并将 User.State 属性的值设置为 UserState.Active。
通过将用户的状态设置为活动状态来还原已删除的用户。 无需重新填充用户资源中的剩余字段。 这些值将自动从已删除的非活动用户资源还原。 接下来,使用具有客户 ID 的 IAggregatePartner.Customers.ById 方法来标识客户,使用 Users.ById 方法标识用户。
最后,调用 Patch 方法并传递 CustomerUser 实例以发送请求以还原用户。
// IAggregatePartner partnerOperations;
// string selectedCustomerId;
// string selectedCustomerUserId;
var updatedCustomerUser = new CustomerUser()
{
State = UserState.Active
};
// Restore customer user information.
var restoredCustomerUserInfo = partnerOperations.Customers.ById(selectedCustomerId).Users.ById(selectedCustomerUserId).Patch(updatedCustomerUser);
示例: 控制台测试应用。 项目:合作伙伴中心 SDK 示例 类:CustomerUserRestore.cs
REST 请求
请求语法
方法 | 请求 URI |
---|---|
PATCH | {baseURL}/v1/customers/{customer-tenant-id}/users/{user-id} HTTP/1.1 |
URI 参数
使用以下查询参数指定客户 ID 和用户 ID。
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
customer-tenant-id | Guid | Y | 该值是 GUID 格式 的客户租户 ID ,允许经销商将结果筛选给给定客户。 |
user-id | Guid | Y | 该值是属于单个用户帐户的 GUID 格式 的用户 ID 。 |
请求标头
有关详细信息,请参阅合作伙伴中心 REST 标头。
请求正文
下表描述了请求正文中的必需属性。
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
State | string | Y | 用户状态。 若要还原已删除的用户,此字符串必须包含“active”。 |
属性 | 对象 (object) | N | 包含“ObjectType”:“CustomerUser”。 |
请求示例
PATCH https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/users/a45f1416-3300-4f65-9e8d-f123b397a4ea HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 6e668bc0-5bd7-44d6-b6fa-529d41ce9659
MS-CorrelationId: 32be760f-8282-4e01-a37b-829c8a700e8a
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 269
Expect: 100-continue
{
"State": "active",
"Attributes": {
"ObjectType": "CustomerUser"
}
}
REST 响应
如果成功,响应在响应正文中返回还原的用户信息。
响应的成功和错误代码
每个响应都带有一个 HTTP 状态代码,用于指示成功或失败以及其他调试信息。 请使用网络跟踪工具来读取此代码、错误类型和其他参数。 有关完整列表,请参阅 合作伙伴中心 REST 错误代码。
响应示例
HTTP/1.1 200 OK
Content-Length: 465
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 32be760f-8282-4e01-a37b-829c8a700e8a
MS-RequestId: 6e668bc0-5bd7-44d6-b6fa-529d41ce9659
MS-CV: ZTeBriO7mEaiM13+.0
MS-ServerId: 101112616
Date: Fri, 20 Jan 2017 22:24:55 GMT
{
"usageLocation": "US",
"id": "a45f1416-3300-4f65-9e8d-f123b397a4ea",
"userPrincipalName": "e83763f7f2204ac384cfcd49f79f2749@dtdemocspcustomer005.onmicrosoft.com",
"firstName": "Ferdinand",
"lastName": "Filibuster",
"displayName": "Ferdinand",
"userDomainType": "none",
"state": "active",
"links": {
"self": {
"uri": "/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/users/a45f1416-3300-4f65-9e8d-f123b397a4ea",
"method": "GET",
"headers": []
}
},
"attributes": {
"objectType": "CustomerUser"
}
}
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈