首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取google-drive上所有文件夹的列表及其名称

如何获取google-drive上所有文件夹的列表及其名称
EN

Stack Overflow用户
提问于 2013-06-21 20:50:30
回答 1查看 1.4K关注 0票数 0

我正在做一个应用程序在qt/c++中,我想上传图像到一个特定的文件夹。我试图获得所有文件夹的列表,但它没有提供文件夹的名称。我想获得他们的名称,以便用户可以从文件夹列表中选择一个特定的文件夹,我可以上传到特定的folder.My代码:http://pastebin.com/dBGkpeEj在响应此代码时,我得到了kind,etag,foll list和items数组,其中每个项目都有foll。fields:kind=drive#childReference,id,自链接,子链接。我想要获取所有文件夹的名称

我自己解决了这个问题。下面是获取qt中所有文件夹和子文件夹列表的代码:

代码语言:javascript
复制
void googled::tryFolderListing(QNetworkReply *reply){
am = new QNetworkAccessManager;

QByteArray d = reply->readAll();
QString x = getValue(d,"access_token");
x = "Bearer " + x;
QUrl url("https://www.googleapis.com/drive/v2/files");
url.addQueryItem(QString("q").toAscii(),QString("mimeType = 'application/vnd.google-apps.folder'").toAscii());
QNetworkRequest request;
request.setUrl(url);
request.setRawHeader(QString("Content-Type").toAscii(),QString("application/json").toAscii());
request.setRawHeader(QString("Authorization").toAscii(),x.toAscii());
QObject::connect(am, SIGNAL(finished(QNetworkReply *)),
this, SLOT(uploadfinishedSlot(QNetworkReply *)));
am->get(request);

}

EN

回答 1

Stack Overflow用户

发布于 2013-06-21 23:48:46

首先,如果您要与用户交互以从驱动器中选择特定的文件或文件夹,请使用Google Picker。实现你自己的选择器是非常低效和缓慢的。只需几行javascript代码,您就可以做您想做的事情。

其次,您使用的是children.list,它没有为文件提供足够的信息。您应该在query mimeType = 'application/vnd.google-apps.folder' and trashed = false中使用Files.list(),您将获得所需的所有文件夹信息。

第三,您忘记了实现pageToken。对于一些拥有大量文件/文件夹的用户,他们可能会点击maxResults,查询可能不会显示您想要的所有文件/文件夹。请深入查看示例代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17235677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档