如何在SharePoint页面的Web部件中展示Delve最近文档?
当然可行!你已经用内容搜索Web部件搞定了基础的最近文档展示,接下来可以从几个方向优化,让效果更贴近Delve那种基于用户互动行为的Recent Documents逻辑:
1. 优化原生内容搜索Web部件的查询逻辑
Delve的最近文档不只是看「修改时间」,更核心的是用户的访问、查看、编辑等互动行为。你可以调整内容搜索的查询语句,结合SharePoint搜索的托管属性来实现:
- 修改查询条件:加入用户最近访问过的文档,比如用
LastAccessedTime>Today-30,同时保留修改时间的条件,组合成:IsDocument:true AND (LastModifiedTime>Today-30 OR LastAccessedTime>Today-30) AND (RecentViewedBy:CurrentUser OR LastModifiedBy:CurrentUser) - 调整排序规则:优先按
LastAccessedTime desc排序,再按LastModifiedTime desc,这样最近被用户查看的文档会排在更前面,更符合Delve的体验。
2. 使用PnP Modern Search Web部件(推荐)
这个开源的Web部件比原生内容搜索灵活太多,能直接对接Microsoft Graph——而Delve的Recent Documents数据本身就来自Graph的me/drive/recent端点:
- 配置时选择「Microsoft Graph数据源」,直接调用用户的最近文档接口,获取和Delve完全一致的数据集;
- 支持自定义卡片模板,可以模拟Delve的展示样式,比如显示文档预览、最近互动时间、来源站点等;
- 无需复杂的搜索查询配置,可视化界面就能完成设置,对非开发人员友好。
3. 自定义SPFx Web部件(完全自定义)
如果需要100%复刻Delve的UI和逻辑,或者有特殊的定制需求,就可以开发自己的SPFx Web部件:
- 直接调用Microsoft Graph的
GET /me/drive/recent接口,拿到Delve展示的原始数据; - 自己编写React组件渲染文档列表,完全控制样式、排序和交互;
- 还可以扩展功能,比如添加收藏、快速跳转等Delve的特性。
你的现有方案已经是个很好的基础,只需要根据客户对「Delve风格」的具体要求,选择上面的优化路径就行~
内容的提问来源于stack exchange,提问作者mdevm
相关产品推荐
相关产品推荐

