Achieving Search of Files by 'is:unorganized owner:me' using Google Apps Script


This is a sample script for achieving the search of files by is:unorganized owner:me using Google Apps Script.

In the current stage, unfortunately, the files cannot be directly retrieved by searching is:unorganized owner:me with Drive API and Drive service. So as the current workaround, all files are retrieved using the method of “Files: list” of Drive API with 'me' in owners and trashed = false, and the file list is retrieved from all file list using a script.

Sample script

Before you use this script, please enable Drive API at Advanced Google services. And please run main() function.

// Retrieve the file list by searching with "is:unorganized owner:me".
function getFileList(token) {
  const fields = decodeURIComponent(
  const q = decodeURIComponent("'me' in owners and trashed = false");
  let allFiles = [];
  let pageToken = "";
  do {
    const res = UrlFetchApp.fetch(
      { headers: { authorization: `Bearer ${token}` } }
    const obj = JSON.parse(res);
    allFiles = allFiles.concat(obj.files);
    pageToken = obj.nextPageToken;
  } while (pageToken);
  return allFiles.filter(({ parents }) => !parents);

// Please run this function.
function main() {
  const token = ScriptApp.getOAuthToken();
  const fileList = getFileList(token);

  // DriveApp.getFiles(); // This is used for automatically adding a scope of "".
  • In order to retrieve all files, when Drive API v3 using UrlFetchApp is used, the process cost is much lowere than that using Drive API of Advanced Google services. So I used Drive API v3 using UrlFetchApp instead of Drive API of Advanced Google services.