Javascript 使用驱动器api搜索文件夹中的文件
驱动器api: 我试图获取我拥有的电子表格的id,但是Logger.log()返回多个id,而不仅仅是一个id。我想它是从谷歌硬盘最近的部分得到了同名文件 我不知道如何解决这个问题,任何帮助都将不胜感激 有没有办法只使用驱动器api搜索文件夹内的文件?或者,如何排除“最近”部分中的文件,而只搜索驱动器中的文件 代码片段:Javascript 使用驱动器api搜索文件夹中的文件,javascript,google-apps-script,google-drive-api,Javascript,Google Apps Script,Google Drive Api,驱动器api: 我试图获取我拥有的电子表格的id,但是Logger.log()返回多个id,而不仅仅是一个id。我想它是从谷歌硬盘最近的部分得到了同名文件 我不知道如何解决这个问题,任何帮助都将不胜感激 有没有办法只使用驱动器api搜索文件夹内的文件?或者,如何排除“最近”部分中的文件,而只搜索驱动器中的文件 代码片段: //get spreadsheet var nameId; var allFiles = Drive.Files.list({ q: "title='"
//get spreadsheet
var nameId;
var allFiles = Drive.Files.list({
q: "title='" + name + "' and trashed=false"
}).items;
for (var i = 0; i < allFiles.length; i++)
{
if (allFiles[i].title == name)
{
Logger.log("true");
nameId = allFiles[i].id;
Logger.log("returnTemplatedTable -- name id: " + nameId);
}
else
{
Logger.log("false");
}
}
var spreadsheet = SpreadsheetApp.openById(nameId).getActiveSheet();
但是我怎么能搜索文件夹呢
var list=Drive.Files.list({
“folderId”:folderId,
问:“title=”“+name+”,trashed=false”
}).项目;
对于(变量i=0;i
这使用驱动器api查找文件夹中所有文件的名称
function findFilesInFolder() {
var folderId = 'folderId'
//searches for children of a folder
var childrenData = Drive.Children.list(folderId)
var children = childrenData.items;
//loops through the children and gets the name of each one
for (var i = 0; i < children.length; i++){
var id = children[i].id;
var file = Drive.Files.get(id);
Logger.log(file.title)
}
}
函数findFileInfolder(){
var folderId='folderId'
//搜索文件夹的子级
var childrenData=Drive.Children.list(folderId)
var childrenData=childrenData.items;
//循环遍历子项并获取每个子项的名称
对于(变量i=0;i
这使用驱动器api查找文件夹中所有文件的名称
function findFilesInFolder() {
var folderId = 'folderId'
//searches for children of a folder
var childrenData = Drive.Children.list(folderId)
var children = childrenData.items;
//loops through the children and gets the name of each one
for (var i = 0; i < children.length; i++){
var id = children[i].id;
var file = Drive.Files.get(id);
Logger.log(file.title)
}
}
函数findFileInfolder(){
var folderId='folderId'
//搜索文件夹的子级
var childrenData=Drive.Children.list(folderId)
var childrenData=childrenData.items;
//循环遍历子项并获取每个子项的名称
对于(变量i=0;i
这里有一个更简单的方法,使用
获取用户驱动器中与
给定搜索条件。搜索条件在谷歌上有详细说明
驱动SDK文档。请注意,params参数是一个查询
可能包含字符串值的字符串,因此请注意转义
引号正确(例如“标题包含‘格列佛’”
“游记”或“标题包含“格列佛游记”)
以下是我尝试过的一个片段:
function searchForeFile(){
var files = DriveApp.searchFiles(
'modifiedDate > "2013-02-28" and title contains "Gene Simmons"');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
果然它返回了我要找的文件:
[17-04-0321:43:26:736 PDT]Gene Simmons KISS.pdf
这里有一个更简单的方法,使用 获取用户驱动器中与 给定搜索条件。搜索条件在谷歌上有详细说明 驱动SDK文档。请注意,params参数是一个查询 可能包含字符串值的字符串,因此请注意转义 引号正确(例如“标题包含‘格列佛’” “游记”或“标题包含“格列佛游记”) 以下是我尝试过的一个片段:
function searchForeFile(){
var files = DriveApp.searchFiles(
'modifiedDate > "2013-02-28" and title contains "Gene Simmons"');
while (files.hasNext()) {
var file = files.next();
Logger.log(file.getName());
}
}
果然它返回了我要找的文件:
[17-04-0321:43:26:736 PDT]Gene Simmons KISS.pdf
您是否尝试过:与此结合:您是否尝试过:与此结合:谢谢,但我希望使用advanced drive service drive api v2执行此操作。查看文档,json负载中的文件似乎有父属性。你试过把它和文件夹id进行比较吗?是的,我用我刚刚试过的另一段代码编辑了这篇文章。它仍然返回多个id。我发布了一个经过编辑的答案。这使用
Drive.Children.list
来搜索文件夹的所有子文件夹。谢谢,但我希望使用高级驱动器服务驱动器api v2来执行此操作。查看文档,json负载中的文件似乎有父属性。你试过把它和文件夹id进行比较吗?是的,我用我刚刚试过的另一段代码编辑了这篇文章。它仍然返回多个id。我发布了一个经过编辑的答案。这将使用Drive.Children.list
搜索文件夹的所有子级。