迁移共享文件和文件夹
实现
如迁移 PRIME API 中所述,使用 项引用应用共享元数据。 不应再使用使用共享 者 列的旧方法。
对于与用户共享的项,在其 ListItem 块中添加 SharedWithEvents 块。 SharedWithEvents 块表示共享项目时发生的事件,包括执行共享 (SharingInitatiorId 和 SharedById) 的用户,以及 sharedTime) 共享 (时间。
为在该事件期间与之共享项目的每个人添加 SharedWithMember 块。 所有用户 ID 必须是UserGroup.xml中的有效条目。
<ListItem ParentWebId="79f949a2-f38b-40e3-91ef-ffdbe6214bef"
Id="a4bbc3c7-7ef1-47ef-8451-ea8e1a69cb88"
TimeLastModified="2018-11-06T22:43:49"
TimeCreated="2018-11-06T22:25:32">
<SharedWithEvents>
<SharedWithEvent SharedTime="2018-10-29T04:06:09.1385321Z"
SharingInitiatorId="2"
SharedById="2">
<SharedWithMembers>
<SharedWithMember SharedWithId="1"/>
<SharedWithMember SharedWithId="2"/>
</SharedWithMembers>
</SharedWithEvent>
</SharedWithEvents>
</ListItem>
最佳做法
基础知识
对于与源中的用户共享的每个文件或文件夹,请在收件人的 OneDrive 中创建该项目的项目引用。 创建的每个项目引用都将显示在 OneDrive 中用户的 “与我共享” 视图中。 请记住,还要向用户授予访问项的权限。
继承
请确保正确使用继承进行共享。 为文件或文件夹创建项目引用时,请检查其父文件夹 (或更高版本) 是否已为其创建了项目引用。 如果是这样,请不要为子项创建另一个。 这将防止用户在其 “与我共享” 视图中看到重复项,并减少迁移和服务负载。
例子: 当文件夹已共享并且收件人可以访问该文件夹的所有内容时,应 仅为 共享文件夹创建项目引用,而不应为其内容创建项目引用。 应出现在 与我共享 的收件人中的唯一项目是共享文件夹。
同样的指导也适用于 (ACL) 的权限。 仅对所需权限与其父项不同的子项应用权限。 确保网站上的唯一 ACL 不超过 5000 个。 在迁移之前检查创建的 ACL 数量并警告用户可能很有用。 还将强制实施 50,000 个唯一 ACL 的硬性限制。 如果即将达到 5000 限制,我们建议在迁移之前简化源的权限模型。
与组共享
对于与源中的一组个人共享的项,内容可以迁移到共享库中 (例如。团队网站) ,其中所有这些人员都被授予访问权限。
匿名共享链接
不要从源迁移匿名共享链接;这没有用处,因为无法知道哪些用户在源中使用该链接。 用户应评估是否仍需要匿名链接,并在目标上创建新链接(如果是)。
与外部用户共享
在开始迁移之前,必须确保在客户租户中预配所有用户。 对于租户外部的用户, (即。来自不同组织) ,将其预配为 Azure Active Directory 中的 B2B 协作用户。 执行以下步骤Azure 门户完成此操作:
预配外部用户后,在迁移过程中与内部用户共享文件和文件夹的方式相同。
权限和共享
SharePoint 中的每个用户共享模型依赖于权限和“共享对象”数据引用,该对象被视为与个人共享。 如果用户有权访问内容,但没有“共享者”引用,则不会在其 OneDrive For Business 网站内的“与我共享”视图中显示内容。
但是,如果他们在“共享者”引用中指示,但对内容没有任何访问权限,则他们将永远不会看到内容显示在 OneDrive For Business 网站中的“与我共享”视图中,或者当他们尝试使用来自该链接的链接时,将被拒绝访问。 若要保留共享信息,需要正确设置权限和“共享对象”引用。 可以使用范围 (唯一 ACL) 在内容层次结构的不同级别设置权限,这些范围适用于该对象及其任何子级,除非它们本身具有唯一权限。
使用 PRIME,可以通过将 SPFile/SPFolder 对象与文档库一起使用来迁移内容,后跟引用导入的 File/Folder 对象的 SPListItem 对象。 在 ListItem 导入期间,可以导入“共享对象”引用数据,然后可以通过根据需要为内容层次结构设置范围 (ACL) 和角色分配 (ACE) 来在同一迁移包中应用安全性。
使用 DeploymentRoleAssignments 对象执行权限迁移,其中 RoleAssignment 条目表示特定范围,分配条目表示向特定主体分配特定角色。 由于此代码最终会中断内容的继承并应用指定的角色分配,因此它与使用其他对象模型方法在 SharePoint 中设置权限具有相同的限制。
注意
迁移 API不适用于由世纪互联在中国运营的 Office 365 的用户。