通过云端硬盘 API 访问文件夹中的文件?
Accessing files in a folder via Drive API?
我正在尝试通过驱动器 API 从我的 Google 驱动器访问一些文件。我遵循教程 here ,在 Javascript 中这样做。现在,只需调用函数 listFiles()
即可正常工作,并打印出我驱动器中的所有文件及其 ID。
但是,我想访问在某些文件夹中找到的所有文件。网上查了一下,API这个驱动器有这么一个函数叫retrieveAllFilesInFolder(folderId, callback)
定义如下:
function retrieveAllFilesInFolder(folderId, callback) {
var retrievePageOfChildren = function(request, result) {
request.execute(function(resp) {
result = result.concat(resp.items);
var nextPageToken = resp.nextPageToken;
if (nextPageToken) {
request = gapi.client.drive.children.list({
'folderId' : folderId,
'pageToken': nextPageToken
});
retrievePageOfChildren(request, result);
} else {
callback(result);
}
});
}
var initialRequest = gapi.client.drive.children.list({
'folderId' : folderId
});
retrievePageOfChildren(initialRequest, []);
}
当我调用本地服务器中的代码(传入文件夹的字符串 ID)时,出现以下错误:quickstart.html:73 Uncaught TypeError: Cannot read property 'list' of undefined
,表示该文件夹没有子文件夹。我知道这是假的。发生这种情况是否有特殊原因。
您可以通过 Google 开发者网站直接 here 执行此操作。
我正在尝试通过驱动器 API 从我的 Google 驱动器访问一些文件。我遵循教程 here ,在 Javascript 中这样做。现在,只需调用函数 listFiles()
即可正常工作,并打印出我驱动器中的所有文件及其 ID。
但是,我想访问在某些文件夹中找到的所有文件。网上查了一下,API这个驱动器有这么一个函数叫retrieveAllFilesInFolder(folderId, callback)
定义如下:
function retrieveAllFilesInFolder(folderId, callback) {
var retrievePageOfChildren = function(request, result) {
request.execute(function(resp) {
result = result.concat(resp.items);
var nextPageToken = resp.nextPageToken;
if (nextPageToken) {
request = gapi.client.drive.children.list({
'folderId' : folderId,
'pageToken': nextPageToken
});
retrievePageOfChildren(request, result);
} else {
callback(result);
}
});
}
var initialRequest = gapi.client.drive.children.list({
'folderId' : folderId
});
retrievePageOfChildren(initialRequest, []);
}
当我调用本地服务器中的代码(传入文件夹的字符串 ID)时,出现以下错误:quickstart.html:73 Uncaught TypeError: Cannot read property 'list' of undefined
,表示该文件夹没有子文件夹。我知道这是假的。发生这种情况是否有特殊原因。
您可以通过 Google 开发者网站直接 here 执行此操作。