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

出于某种原因,我没有成功的结果(0).id方法。但是,我在回调之前使用“resp.items [i] .id”尝试了一个for循环,并得到了我所需要的。感谢您的帮助,Claudio。 – jeremydeanlakey 2013-02-27 16:27:27