【问题标题】:Google Drive API children.listGoogle Drive API children.list
【发布时间】:2013-02-10 00:15:48
【问题描述】:

我正在尝试编写 javascript 代码来列出 Google Drive 根目录中所有文件的名称。仅供参考:我是 javascript 新手。

对于第一个函数,我从https://developers.google.com/drive/v2/reference/children/list 复制代码。

接下来的两个函数是我自己的代码。我的结果只是一堆“[object Object]、[object Object]、[object Object]、[object Object]”。此输出与我在 Google Drive 根文件夹中的文件数量相匹配。但是,我想要文件名或 id,但除了“[object Object]”之外,我似乎什么也得不到。

我尝试将“resp.items”更改为“resp.kind”或“resp.selflink”,但后来我得到“未定义”。任何人都知道如何获取有关文件的任何特定信息?如果重要,范围是“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);} );
}  

【问题讨论】:

    标签: javascript google-drive-api


    【解决方案1】:

    您得到的结果是一个可以按索引访问的对象数组,如result[0]、result[1] 等。

    一旦您获得对其中一个对象的引用,您就可以像在result[0].id 中一样访问其属性(例如 id)。

    【讨论】:

    • 由于某种原因,我没有成功使用 result(0).id 方法。但是,我在回调之前使用“resp.items[i].id”尝试了一个 for 循环,它得到了我需要的东西。感谢您的帮助,克劳迪奥。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多