让授权部分完成并且正常工作(没有错误等)。在此之后,我想从驱动器的根目录中获取文件夹和文件。首先从根目录中获取文件(该过程非常类似于使用子项来获取文件夹)。
我设计了以下代码(根据产生类似结果的google示例),这是我的驱动器类的一部分:
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'
时,我会收到四个已删除的文件(我之前从驱动器中删除)。
有人可以解释为什么我没有看到/获取任何文件吗?也改变了对公众的权利,但似乎没有任何区别。
答案 0 :(得分:1)
与以下问题相同的情况: google drive api, javascript list files returns nothing
我需要在授权时将范围'drive
'添加到范围,我只有drive.file
,它只打算创建/编辑文件。奇怪的是,当你没有查看文件的权限时,API会返回已删除的文件,我认为这是API中的一个错误(严重的错误)。
在google驱动器上发布此错误: https://productforums.google.com/forum/#!searchin/drive/security $ $ 20issue $ 20permission 20view /驱动/ pupjKxTz9FU / cUarGIl_Ah0J