kotlin - HMS Drive kit 查询和查询字符串
问题描述
我是刚开始使用 HMS 的初学者开发人员。我正在尝试编写一个代码来查找“profile.json”文件,该文件之前已上传到云中的“DebtSorter”文件夹中。我的代码(Kotlin)目前看起来像:
var fileList: MutableList<File?> = mutableListOf()
thread {
try {
val drive = buildDrive()
val request = drive.files().list()
var cursor: String?
fileList = ArrayList()
do {
var result = request.setQueryParam("fileName contains 'profile'")
.setOrderBy("fileName")
.setPageSize(10)
.setFields("*")
.execute()
for (file in result.files) {
fileList.add(file)
}
cursor = result.nextCursor
request.cursor = cursor
} while (!StringUtils.isNullOrEmpty(cursor))
} catch (e: java.lang.Exception) {
Toast.makeText(applicationContext, "executeFilesList exception: $e", Toast.LENGTH_LONG)
.show()
}
}
return fileList
但是,即使我将文件上传到云的根目录,返回的 fileList 也始终为空。我想我把查询字符串弄乱了,因为我可以很好地上传文件。有人可以告诉我查询字符串中使用的语法和关键字,并可能帮助我提供代码以及如何在 HMS Drive 工具包中的给定文件夹中搜索吗?
解决方案
更新:
也可以参考demo:https ://github.com/HMS-Core/hms-drive-serverdemo在demo中,线程直接执行获取文件列表的方法。
您的查询参数不正确。您无法定义查询字符串的格式。请参阅此示例查询语句。
(假设文件夹A的ID是f192358798744098816):
- 查询A文件夹中的所有文件,在parentFolder中运行'f192358798744098816'和mimeType !='application/vnd.huawei-apps.folder'
- 查询回收站中的所有文件夹,执行以下语句:mimeType='application/vnd.huawei-apps.folder' 和recycled=true
parentFolder 中的查询条件'fileId'和recycled=true不能一起使用,即用户不能查询回收站中指定父文件夹中的文件或文件夹。
更多详细信息,请参阅官方指南。
推荐阅读
- python - 如何使用 Python 从 CGI 网页读取数据?
- php - PHP回显变量在while循环之外返回最后一个值
- google-apps-script - 有没有办法使用 Google 表格/Google Apps 脚本将条件格式转换为“静态”格式?
- python - 如何循环遍历多个数据框以根据行条件选择数据框?
- python - 为什么干净的 Midi 文件播放不同?(与米多)
- kubernetes-helm - Helm Charts - 如何在未定义的对象属性值上使用“默认”?
- java - 如何在大文本文件的开头插入文本?
- arrays - Swift 类型变量到泛型类型变量
- bash - 用于关闭特定端口上打开的 TCP 连接的 Bash 脚本
- c++ - 可以将模板的瞬间地址作为函数的指针传递给某个函数吗?