diff --git a/examples/teamdrive/mainwindow.cpp b/examples/teamdrive/mainwindow.cpp --- a/examples/teamdrive/mainwindow.cpp +++ b/examples/teamdrive/mainwindow.cpp @@ -260,6 +260,7 @@ KGAPI2::Drive::FileFetchJob *fileFetchJob = new KGAPI2::Drive::FileFetchJob(query, m_account, nullptr); fileFetchJob->setIncludeTeamDriveItems(true); + fileFetchJob->setSupportsTeamDrives(true); fileFetchJob->setFields((KGAPI2::Drive::FileFetchJob::BasicFields & ~KGAPI2::Drive::FileFetchJob::Permissions) | KGAPI2::Drive::FileFetchJob::Labels | KGAPI2::Drive::FileFetchJob::ExportLinks diff --git a/src/drive/filefetchjob.h b/src/drive/filefetchjob.h --- a/src/drive/filefetchjob.h +++ b/src/drive/filefetchjob.h @@ -123,6 +123,9 @@ bool includeTeamDriveItems() const; void setIncludeTeamDriveItems(bool includeTeamDriveItems); + bool supportsTeamDrives() const; + void setSupportsTeamDrives(bool supportsTeamDrives); + protected: void start() override; KGAPI2::ObjectsList handleReplyWithItems(const QNetworkReply *reply, diff --git a/src/drive/filefetchjob.cpp b/src/drive/filefetchjob.cpp --- a/src/drive/filefetchjob.cpp +++ b/src/drive/filefetchjob.cpp @@ -47,6 +47,7 @@ QStringList filesIDs; bool isFeed; bool includeTeamDriveItems; + bool supportsTeamDrives; bool updateViewedDate; @@ -240,11 +241,6 @@ QStringLiteral("etag,kind,nextLink,nextPageToken,selfLink,items(%1)").arg(fieldsStrings.join(QStringLiteral(",")))); } - if (includeTeamDriveItems) { - query.addQueryItem(QStringLiteral("includeTeamDriveItems"), QStringLiteral("true")); - query.addQueryItem(QStringLiteral("supportsTeamDrives"), QStringLiteral("true")); - } - url.setQuery(query); } else { if (filesIDs.isEmpty()) { @@ -262,6 +258,16 @@ } } + QUrlQuery withTeamdriveQuery(url); + if (includeTeamDriveItems) { + withTeamdriveQuery.addQueryItem(QStringLiteral("includeTeamDriveItems"), QStringLiteral("true")); + } + + if (supportsTeamDrives) { + withTeamdriveQuery.addQueryItem(QStringLiteral("supportsTeamDrives"), QStringLiteral("true")); + } + url.setQuery(withTeamdriveQuery); + q->enqueueRequest(createRequest(url)); } @@ -343,6 +349,16 @@ d->includeTeamDriveItems = includeTeamDriveItems; } +bool FileFetchJob::supportsTeamDrives() const +{ + return d->supportsTeamDrives; +} + +void FileFetchJob::setSupportsTeamDrives(bool supportsTeamDrives) +{ + d->supportsTeamDrives = supportsTeamDrives; +} + ObjectsList FileFetchJob::handleReplyWithItems(const QNetworkReply *reply, const QByteArray &rawData)