如何查询名称被单引号包裹的Google Drive文件夹?
Google Drive API 查询带单引号文件夹的转义问题
问题出在单引号的转义方式上——Google Drive API的查询语法不支持用反斜杠转义单引号,而是要求用两个连续的单引号来转义字符串内的单引号。
正确的查询写法
针对文件夹名
test ' folder,正确的查询条件应该是:'0AMbhVdUCBuc8Uk9PVC' in parents and name = 'test '' folder' and mimeType = 'application/vnd.google-apps.folder' and trashed = false你之前用反斜杠的写法能生效,是因为PHP单引号字符串的转义机制,实际传递给API的内容已经被转成了双单引号形式,刚好符合要求。
针对文件夹名
'test folder',正确的查询条件应该是:'0AMbhVdUCBuc8Uk9PVC' in parents and name = '''test folder''' and mimeType = 'application/vnd.google-apps.folder' and trashed = false这里把文件名本身的两个单引号各替换成两个连续单引号,再用单引号包裹整个字符串,就能精准匹配到目标文件夹,不需要再用
contains做客户端过滤。
这不是API的已知问题,只是你用错了Google查询语法的单引号转义规则。
内容的提问来源于stack exchange,提问作者Dan Gravell
相关产品推荐
相关产品推荐

