javascript - 是否有应用程序脚本功能将活动仪表板中存在的查看器信息导出到单独的 GSheet 中?
问题描述
实际上,我试图设置一个存储库,每天计算我的文档的查看次数。此信息存在于活动仪表板中,但我无法找到一种方法将活动仪表板中的信息提取到单独的 GSheet 中。
解决方案
最接近活动仪表板的是Google Drive Activity API
- 您可以使用方法方法:activity.query
- 要查看特定文件的活动性,请指定将其
itemName
设置为的参数items/ID_OF_YOUR_FILE
- 熟悉响应体的结构 - 测试
Try this API
功能 - 稍后,要将此功能合并到 Apps 脚本中,请在您的 Apps 脚本编辑器中启用Advanced Service Drive Activity API
小样本:
function listDriveActivity() {
var fileId = "XXX";
var request = {itemName: "items/" + fileId};
var response = DriveActivity.Activity.query(request);
Logger.log("The first activity: " + response.activities[0]);
}
该文档包含一个扩展示例,用于展示 Drive Activity API 的功能。
更新
上面的方法返回编辑活动,但不返回查看活动。
要跟踪查看活动,作为域管理员,您可以使用Reports API。
- 要在 Apps 脚本中使用它,请在
Resources -> Advanced Google Services
. - 使用方法
AdminReports.Activities.list()
。 - 在查询中指定您感兴趣的应用程序(在您的情况下
drive
)和其他查询参数,如活动(view
)或id
您感兴趣的文档的。 - 循环遍历结果并检索感兴趣的字段(例如
actor.email
)。
样本:
function myFunction() {
var views = AdminReports.Activities.list("all", "drive", {eventName: "view", filters: "doc_id==XXXXX"}).items;
for ( var i = 0; i< views.length; i++){
Logger.log(views[i].actor.email);
}
}
推荐阅读
- java - 为什么我的 Grpc ClientInterceptor 没有正确的反应器上下文?
- googlebot - 谷歌搜索控制台报告奇怪的 404——这是谷歌机器人的错误吗?
- jenkins - 在 Jenkins 管道 Groovy 中,如何在 YAML 文件中将值设置为带引号的字符串?
- python - dataframe.groupby.agg TypeError: _agg_2dim() 接受 1 个位置参数,但给出了 2 个
- coinbase-api - {“消息”:“无效签名”} Coinbase Pro API
- r - 用向量改变一个列,该列采用数据帧中行的点积
- swiftui - VideoPlayer 视图防止 SwiftUI 导航栏隐藏
- html - 居中的徽标以及第二行中的导航项目
- google-apps-script - 如何使用谷歌应用脚本在特定范围内从工作表中获取特定图表并将其粘贴到另一张工作表上?
- hive - 如何关闭 Hive 事务