为什么 google 驱动器没有 return 我在字段参数中提供的文件的元数据?

why google drive does not return metadata of files which i provided in the fields parameter?

我正在尝试获取 google 驱动器 API

的文件大小
const filesFilteredByDate = await axios.get('https://www.googleapis.com/drive/v3/files', {
   q: `mimeType = 'application/vnd.google-apps.folder'`,
    fields: 'files(id, name, size, modifiedTime)',
    orderBy: 'modifiedTime desc',
    spaces: 'drive',
    headers: {
      authorization: `Bearer ${accessToken}`
    }
  });

但是没有return文件夹的大小和修改时间

那么我如何获取 size 、 modifiedTime 和 createdTime

并非所有文件类型都有大小。您仅搜索文件夹的文件夹没有 return 大小。

{
   "id": "1R_QjyKy27C-3ASMJJa",
   "name": "YouTube",
   "mimeType": "application/vnd.google-apps.folder",
   "modifiedTime": "2021-12-14T08:48:38.786Z"
  },

如果您尝试不同的文件类型,您会发现它确实 return 大小,例如 zip 文件

 {
   "id": "107GrdcfBFVuWjlMZEKN7qAqsdvsH",
   "name": "backup_2022-02-16-1013_Daimto_e3763aa68b2c-others.zip",
   "modifiedTime": "2022-02-16T08:14:16.917Z",
   "size": "17849423"
  },

文件夹大小未由google驱动器提供api更多id、name、kind、mimeType为默认数据对象

此外,如果你像那样使用 Axios,请将你的字段放在 params 中

const filesFilteredByDate = await axios.get('https://www.googleapis.com/drive/v3/files', {
            params: {
                q: "mimeType='application/vnd.google-apps.folder'",
                fields: "files(id,name,createdTime,modifiedTime,parents)",
                orderBy: "modifiedTime desc",
            },
            headers: {
            authorization: `Bearer ${accessToken}`
            }
        });