如何使用Google Drive Python API搜索含单引号的文件?
解决Google Drive Python API搜索含单引号文件名的400错误问题
问题根源是查询字符串的语法被破坏:当文件名包含单引号时,直接拼接会导致q参数的格式错误,API无法正确解析查询条件。Google Drive API的查询语法明确规定:字符串中的单引号需要用两个单引号来转义。
修复后的代码
# 转义文件名中的单引号:将单个'替换为'' escaped_filename = finalfile.replace("'", "''") # 构造合法的查询语句 results = service.files().list(q=f"name='{escaped_filename}'", fields="files(id)").execute()
原理说明
例如文件名是O'Neil,转义后变为O''Neil,最终生成的查询字符串为name='O''Neil',API会正确识别这是搜索名为O'Neil的文件,不会出现语法解析错误。
内容的提问来源于stack exchange,提问作者FerdinandoPH
相关产品推荐
相关产品推荐

