如何验证Google Drive中文件名及URL不同的两个文件是否为完全副本
如何判断Google Drive中的两个文件是否重复
当文件名和URL无法作为判断依据时,你可以通过以下几种方式确认:
1. 直接获取文件的MD5哈希值(最准确)
Google Drive会为每个文件生成唯一的MD5校验和,你可以通过Drive API获取该值来对比:
- 先在Google Cloud控制台开启Drive API,创建并下载服务账号密钥文件
- 使用API的
files.get接口,传入文件ID,指定返回md5Checksum字段 - 对比两个文件的MD5值,一致则为重复文件
示例Python代码:
from googleapiclient.discovery import build from google.oauth2 import service_account # 替换为你的服务账号密钥路径 SERVICE_ACCOUNT_FILE = 'service-account-key.json' SCOPES = ['https://www.googleapis.com/auth/drive.readonly'] def get_md5(file_id): creds = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES) drive_service = build('drive', 'v3', credentials=creds) file_data = drive_service.files().get(fileId=file_id, fields='md5Checksum').execute() return file_data.get('md5Checksum') # 替换为两个文件的ID file1_md5 = get_md5('你的第一个文件ID') file2_md5 = get_md5('你的第二个文件ID') print("文件重复" if file1_md5 == file2_md5 else "文件不重复")
2. 本地同步后对比
安装Google Drive桌面客户端,将两个文件同步到本地:
- Windows:用
certutil -hashfile "文件路径" MD5命令计算哈希 - Mac/Linux:用
md5 "文件路径"命令计算哈希 - 对比两个哈希值即可判断是否重复
如果是小文件,也可以直接打开对比内容,比如文档类看文字、格式,媒体类看播放效果。
3. 利用Drive内置的重复提示
将两个文件移到同一个文件夹,尝试对其中一个文件执行“上传副本”操作:如果Drive提示“已有相同文件”,说明二者是重复的;反之则不是。
内容的提问来源于stack exchange,提问作者IMTheNachoMan
相关产品推荐
相关产品推荐

