Google Drive API children.list
问题描述:
我想让JavaScript代码列出Google Drive根目录中所有文件的名称。仅供参考:我是JavaScript新手。Google Drive API children.list
对于第一个功能,我复制了https://developers.google.com/drive/v2/reference/children/list中的代码。
接下来的两个函数是我自己的代码。我的结果只是一堆“[对象对象],[对象对象],[对象对象],[对象对象]”。此输出与我在Google云端硬盘根目录中的文件数量相符。但是,我想要的文件名或ID的,但我似乎无法获得除“[对象对象]”之外的任何东西。
我试着改变“resp.items”为“resp.kind”或“resp.selflink”,但后来我只是得到“undefined”。任何人都知道如何获得关于这些文件的任何特定信息?如果重要,范围是“https://www.googleapis.com/auth/drive”。
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, []);
}
function printToOutdiv (result){document.getElementById("outdiv").innerHTML=result;}
function GetFilesButton(){
gapi.client.load('drive', 'v2', function() {retrieveAllFilesInFolder('root',printToOutdiv);});
}
答
你所得到的结果是,可以通过索引来访问对象的数组,如在result[0]
,result[1]
,等等。
一旦您获得对其中一个对象的引用,就可以像result[0].id
那样访问其属性(例如id)。
出于某种原因,我没有成功的结果(0).id方法。但是,我在回调之前使用“resp.items [i] .id”尝试了一个for循环,并得到了我所需要的。感谢您的帮助,Claudio。 – jeremydeanlakey 2013-02-27 16:27:27