使用 sharePointMigrationTaskParameters 创建或更新 sharePointMigrationTask 以将资源从源组织迁移到目标组织。 资源可以是用户、组或站点。
注意: 根据 OData 标准,请求正文中必须包含整个 sharePointMigrationTask 结构,尽管仅使用 sharePointMigrationTaskParameters 来实例化任务。 对于 ID 和 状态等必需属性,可以提供空值或默认值,因为它们在初始任务创建过程中会被忽略。
检索现有 sharePointMigrationTask 时,它可能不仅包含源和目标组织和资源的详细信息,还可能包含迁移状态和迁移作期间遇到的错误。
API 调用在源网站上发生,并且仅向我的网站根网站添加列表项, contoso-my.sharepoint.com例如 。 然后,它会在后端触发多地理位置站点移动作业,以排队并协调 TJ 基础结构支持的多个租户工作流作业,例如备份、还原和清理。
sharePointResourceMigrationParameters 的 OData 类型将用户迁移与站点迁移区分开来,而不是使用不同的子路径。 对于用户的 OneDrive 迁移,请指定 sharePointUserMigrationParameters。 如果此迁移任务是常规的 SharePoint 网站迁移,请指定 sharePointSiteMigrationParameters。 如果此迁移任务是连接组的站点迁移,请指定 sharePointGroupMigrationParameters。
此 API 可用于以下国家级云部署。
| 全局服务 | 美国政府 L4 | 美国政府 L5 (DOD) | 由世纪互联运营的中国 |
|---|---|---|---|
| ✅ | ❌ | ❌ | ❌ |
权限
为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
| 权限类型 | 最低特权权限 | 更高特权权限 |
|---|---|---|
| 委派(工作或学校帐户) | SharePointCrossTenantMigration.Manage.All | 不可用。 |
| 委派(个人 Microsoft 帐户) | 不支持。 | 不支持。 |
| 应用程序 | SharePointCrossTenantMigration.Manage.All | 不可用。 |
HTTP 请求
POST /solutions/sharePoint/migrations/crossOrganizationMigrationTasks
请求标头
| 名称 | 说明 |
|---|---|
| Authorization | 持有者 {token}。 必填。 详细了解 身份验证和授权。 |
| Content-Type | application/json. 必需。 |
请求正文
在请求正文中, 仅 提供要更新的属性的值。 请求正文中未包含的现有属性会保留其以前的值,或者根据对其他属性值的更改重新计算。
下表指定可更新的属性。
| 属性 | 类型 | 说明 |
|---|---|---|
| parameters | sharePointMigrationTaskParameters | 封装迁移特定源资源所需的参数。 |
响应
如果成功,此方法在响应正文中返回响应 200 OK 代码和更新的 sharePointMigrationTask 对象。
示例
示例 1:使用用户主体名称创建用户迁移任务
以下示例演示如何通过 userPrincipalName 创建用户迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
}
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
}
}
}
示例 2:使用用户对象 ID 创建用户迁移任务
以下示例演示如何通过 userObjectId 创建用户迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
},
"targetUserIdentity": {
"id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
}
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
},
"targetUserIdentity": {
"id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
}
}
}
示例 3:使用用户对象 ID 和目标数据位置代码创建用户迁移任务
以下示例演示如何通过 userObjectId 和特定的 targetDataLocationCode 创建用户迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationId": "78d010af-72cb-412f-8779-18ce9b5f553b",
"targetDataLocationCode": null,
"sourceUserIdentity": {
"id": "da157a29-f793-4dd6-9c73-41d2c73c2546"
},
"targetUserIdentity": {
"id": "cb53ea98-6151-44cc-9c21-098a3c3e3988"
}
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationId": "78d010af-72cb-412f-8779-18ce9b5f553b",
"targetDataLocationCode": "FRA",
"sourceUserIdentity": {
"id": "da157a29-f793-4dd6-9c73-41d2c73c2546",
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"id": "cb53ea98-6151-44cc-9c21-098a3c3e3988",
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
}
}
}
示例 4:创建站点迁移任务
以下示例演示如何创建常规站点迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointSiteMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceSiteUrl": "https://contoso.sharepoint.com/sites/IT",
"targetSiteUrl": "https://fabrico.sharepoint.com/sites/IT"
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointSiteMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceSiteUrl": "https://contoso.sharepoint.com/sites/IT",
"targetSiteUrl": "https://fabrico.sharepoint.com/sites/IT"
}
}
示例 5:创建组迁移任务
以下示例演示如何通过 mailNickname 创建组连接的站点迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointGroupMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceGroupIdentity": {
"mailNickname": "source-group"
},
"targetGroupIdentity": {
"mailNickname": "target-group"
}
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointGroupMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceGroupIdentity": {
"mailNickname": "source-group"
},
"targetGroupIdentity": {
"mailNickname": "target-group"
}
}
}
示例 6:创建具有首选开始日期和时间的用户迁移任务
以下示例演示如何使用 preferredStartDateTime 参数创建用户迁移任务。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
},
"preferredStartDateTime": "2024-08-31T16:00:00Z"
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "3ed6d46d-13a3-4995-b6ea-a74a20b1fac0",
"status": "notStarted",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
},
"preferredStartDateTime": "2024-08-31T16:00:00Z"
}
}
示例 7:使用 validateOnly 创建用户迁移任务
以下示例演示如何使用 参数创建用户迁移任务 "validateOnly": true 。
请求
以下示例显示了一个请求。
POST https://graph.microsoft.com/beta/solutions/sharePoint/migrations/crossOrganizationMigrationTasks
Content-Type: application/json
{
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"validateOnly": true,
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
}
}
}
响应
以下示例显示了相应的响应。
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "completed",
"parameters": {
"@odata.type": "#microsoft.graph.sharePointUserMigrationTaskParameters",
"targetOrganizationHost": "https://fabrico-my.sharepoint.com",
"validateOnly": true,
"sourceUserIdentity": {
"userPrincipalName": "source-user@contoso.onmicrosoft.com"
},
"targetUserIdentity": {
"userPrincipalName": "target-user@fabrico.onmicrosoft.com"
}
}
}