谷歌驱动器:使用javascript api获取(根)文件和文件夹(只获取驱动器上删除的文件)



完成授权部分并正常工作(没有错误等)。之后,我想从驱动器的根目录中获取文件夹和文件。首先开始获取根目录中的文件(该过程与使用子目录获取文件夹非常相似)。

我设计了以下代码(根据产生类似结果的谷歌示例),这是我的驱动器类的一部分:

o.cdGetCloudFiles = function(fCallback, sFolderId )
{
  var oDefQ = {q:'trashed=false', maxResults:1000, folderId:(typeof sFolderId == 'string')?sFolderId:'root'},
      fGetFiles = function(request, result) 
      {
        request.execute(function(resp) 
        {
            if( resp.items instanceof Array )   
            {
              result = result.concat(resp.items);
              if( resp.nextPageToken ) 
              { // Get next file and 'break' this function 
                 return fGetFiles(gapi.client.drive.files.list($j.extend(oDefQ,{'pageToken':resp.nextPageToken})), result); 
              } 
            }
            fCallback(result.length?result:false);
        });
      };
  fGetFiles(gapi.client.drive.files.list(oDefQ), []);
};

原始代码可在此处找到:https://developers.google.com/drive/v2/reference/files/list

驱动器的根目录中有两个文件和一个目录:

[folder] Alice Deejay - Who Needs Guitars Anyway
[file] A day without rain.mp3
[file] Discobitch - C'est beau la bourgeoisie.mp3

问题是,使用上面的例子我没有得到任何文件。当我将'trashed=false'更改为'trashed=true'时,我会得到四个已删除的文件(我以前从驱动器中删除过)。

有人能解释一下为什么我没有看到/得到任何文件吗?也改变了公众的权利,但似乎没有任何区别。

与以下问题相同的情况:谷歌驱动api,javascript列表文件不返回

我需要在授权时将路径"drive"添加到作用域中,我只有drive.file,它仅用于创建/编辑文件。奇怪的是,当你没有查看文件的权限时,API会返回删除的文件,我认为这是API中的一个bug(严重的bug)。

在谷歌驱动器上发布此错误:https://productforums.google.com/forum/#!searchin/drive/security$20发布$20权限$20查看/drive/ppujKxTz9FU/cUarGIl_Ah0J

相关内容

  • 没有找到相关文章

最新更新