如何查看Google Colab公开ipynb的运行历史与访问频次?
Google Colab获取他人运行笔记本的记录/频次方法
Colab原生没有直接查看他人运行你分享笔记本的记录或频次的功能——他人打开分享的笔记本时,会在自己的临时会话或副本中运行,所有操作不会关联到你的原始笔记本的运行日志。
如果需要统计,可通过嵌入安全的Python代码实现,以下是基于Google Sheets的方案(无需第三方服务,且符合隐私安全):
实现步骤
准备Google Sheets表格
- 创建一个新的Google Sheets,添加列:
运行时间、会话ID(可选,用于区分不同运行会话) - 给Google Cloud服务账号授予该表格的编辑权限(避免他人直接修改记录)
- 创建一个新的Google Sheets,添加列:
在Colab中嵌入统计代码
先安装依赖库:!pip install gspread oauth2client然后添加统计代码(注意用Colab Secrets存储服务账号密钥,避免泄露):
import gspread from oauth2client.service_account import ServiceAccountCredentials from datetime import datetime import os import json # 从Colab Secrets读取服务账号密钥(需提前在左侧栏🔑中添加GOOGLE_SHEETS_SERVICE_ACCOUNT) secret_key = os.environ.get('GOOGLE_SHEETS_SERVICE_ACCOUNT') if secret_key: # 初始化授权 creds_dict = json.loads(secret_key) scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"] creds = ServiceAccountCredentials.from_json_keyfile_dict(creds_dict, scope) client = gspread.authorize(creds) # 打开目标表格(替换为你的表格ID) sheet = client.open_by_key("你的Google Sheets表格ID").sheet1 # 写入运行记录(仅收集时间和会话ID,无隐私数据) current_time = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S UTC") session_id = os.environ.get('COLAB_SESSION_ID', '未知') sheet.append_row([current_time, session_id])
安全注意事项
- 绝对不要在代码中硬编码服务账号密钥,必须使用Colab的Secrets功能存储,其他人无法查看Secrets中的内容
- Google Sheets仅授权给服务账号编辑,限制他人修改统计数据
- 仅收集必要的非隐私信息(运行时间、会话ID),不获取用户的账号、文件等敏感内容
内容的提问来源于stack exchange,提问作者matcha
相关产品推荐
相关产品推荐

