如何通过Apps Script API获取Google Drive存储视频的观看次数
可行方案参考
- 方案1:通过自定义中转链接间接统计(适用你可控分发链接的场景)
这是目前普通用户最容易实现的方案,你不需要触碰Drive官方的访问日志,只要把所有对外分发的文件链接替换为你自己开发的中转链接即可:- 新建一个Google Sheet用来存储统计数据,第一列存
file_id,第二列存view_count,提前把你所有要统计的文件ID录入第一列,对应观看次数初始化为0 - 新建Google Apps Script项目,编写如下逻辑:
// 替换为你自己的统计表格ID const SHEET_ID = "你的表格ID"; const SHEET_NAME = "Sheet1"; function doGet(e) { const fileId = e.parameter.file_id; if (!fileId) return ContentService.createTextOutput("缺少file_id参数").setMimeType(ContentService.MimeType.TEXT); // 更新观看次数 const sheet = SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME); const data = sheet.getDataRange().getValues(); for (let i = 0; i < data.length; i++) { if (data[i][0] === fileId) { const currentCount = data[i][1] || 0; sheet.getRange(i+1, 2).setValue(currentCount + 1); // 跳转到对应的Drive文件页 return HtmlService.createHtmlOutput(`<script>window.location.href = "https://drive.google.com/file/d/${fileId}/view";</script>`); } } return ContentService.createTextOutput("无效的file_id").setMimeType(ContentService.MimeType.TEXT); }- 把该Apps Script部署为任何人都可访问的Web App,之后对外分发的链接格式为
你的Web App地址?file_id=对应文件的ID即可,所有访问都会自动计数再跳转到原Drive文件。
- 新建一个Google Sheet用来存储统计数据,第一列存
- 方案2:嵌入场景下的播放事件统计
如果你的视频是嵌入到自有网页中播放的,可以在嵌入代码外层绑定播放事件监听,用户点击播放时主动向你部署的统计接口上报,即可统计有效播放次数。 - 方案3:企业域用户的权限申请
如果你使用的是Google Workspace企业账户,哪怕不是管理员,也可以联系域管理员申请Reports API的访问权限,拿到权限后即可通过官方接口拉取所有域内文件的观看日志数据。
注:如果只能对外分发原生Drive链接,没有任何中转环节,目前普通个人账户确实没有官方支持的方案可以获取文件观看次数,Drive官方的访问日志仅对域管理员开放查询权限。
内容的提问来源于stack exchange,提问作者Antonio Fergesi
相关产品推荐
相关产品推荐

