RSS DEV 社区

为现有项目添加 YouTube 缩略图和真实标题——无需迁移

Follow
ClipCrafter 项目旨在通过显示实际的 YouTube 视频标题和缩略图来提升项目卡片的用户体验。最初,项目卡片仅显示通用标题,如"YouTube 视频 (VIDEO_ID)",且没有缩略图。若直接存储这些信息,将需要执行数据库迁移和回补操作。 然而,团队找到了一种无需基础设施变更即可实现该目标的方法。对于视频标题,他们利用了 YouTube 免费的 oEmbed API,该 API 可提供包括标题在内的视频元数据。此 API 调用在项目创建时执行,若调用失败,则使用包含视频 ID 的备用标题。获取到的标题随后与项目一同存储。 对于缩略图,他们利用了 YouTube 可预测的缩略图 URL 模式,该模式仅需视频 ID。视频 ID 可从新项目的已存储 YouTube URL 中提取,也可从旧项目的标题格式中提取。这种方法为现有和新项目动态生成缩略图 URL。 YouTube 缩略图域名被添加到应用程序的配置中,以允许显示远程图像。项目卡片组件已更新,以便在找到有效源时条件渲染缩略图。该解决方案避免了数据库迁移、回补脚本以及对 API 密钥的需求。 文章最后强调了一个更广泛的模式:在实施新基础设施之前,应考虑所需数据是否可以从现有数据库条目、免费平台 API 或可预测的 URL 结构中推导出来。这种方法能以最小的开发工作量显著提升用户体验。
favicon
dev.to
Adding YouTube thumbnails and real titles to existing projects — without a migration