使用 Google Drive API v3 时,是否可以使用通配符或正则表达式按名称搜索文件?文档没有提及任何内容。
我正在尝试匹配名称具有以下格式的一组文件
backup_YYYY-MM-DD-XXXX_NameOfWebsite_xxxxxxxxxx.zip
Run Code Online (Sandbox Code Playgroud)
我想知道构建可能与之匹配的模式的最佳方法是什么。当然,我可以按照文档做一些类似的事情:
q="name contains 'backup' and name contains 'NameOfWebsite'"
Run Code Online (Sandbox Code Playgroud)
但是,如果我需要匹配不同的模式,或者文件名中包含超过 2 个不同字符串的内容("backup_"和"NameOfWebsite"),您可以很快看到以这种方式构造查询会是多么痛苦:
q="name contains 'string1' and name contains 'string2' and name contains...
Run Code Online (Sandbox Code Playgroud)
使用Drive.listaq 参数发出请求时,不能在文件名中间使用通配符。
该name字段只需要三个运算符 - =,!=和contains:
=运营商是有规律的等价和这个你不能使用通配符。name = 'backup*' 不会返回任何结果。!=运营商不等价,而不是与此有关,但确实相反=contains运营商。您可以使用通配符,但有限制:name contains 'backup*'将返回文件名以字符串开头的所有文件backup。name contains '*NameOfWebsite'将返回文件名以字符串开头的NameOfWebsite所有文件。文件名称backup0194364-NameOfWebsite.zip将不会被退回,因为没有space字符串之前。因此,要做到这一点,唯一的方法就是按照你已经开始意识到的方式去做;字符串链接:
name contains 'backup' and name contains 'NameOfWebsite' and name contains ...
Run Code Online (Sandbox Code Playgroud)
我知道这通常是个坏消息,但我希望这对您有所帮助!
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |