谷歌驱动器API上传成功返回ID。但驱动器中不存在文件?

dav*_*hen 1 google-api node.js google-drive-api service-accounts google-api-nodejs-client

上传成功并返回 id。并尝试将其驱动。它存在。但驱动器中不存在文件?这是什么?我尝试按 id 上传到特定文件夹。文件上传位置在哪里?

const { google } = require('googleapis');
const fs = require('fs');
const credentials = require('./credentials.json');
const scopes = [
    'https://www.googleapis.com/auth/drive'
];

const auth = new google.auth.JWT(
    credentials.client_email, null,
    credentials.private_key, scopes
);

const drive = google.drive({ version: 'v3', auth });

(async () => {
    
    const fileMetadata = {
        name: 'naruto.jpg'
    };

    const media = {
        mimeType: 'image/jpeg',
        body: fs.createReadStream('naruto.jpg')
    };

    const res = await drive.files.create({
        q: `'1PhND1fjEDnL63BbrLmw2V4M4B6jIfP8Q' in parents`,
        resource: fileMetadata,
        media: media,
        fields: 'id'
    });

    console.log(res.data);
    
})();
Run Code Online (Sandbox Code Playgroud)

DaI*_*mTo 6

您似乎正在使用服务帐户。服务帐户有自己的谷歌驱动器帐户,在您的情况下,您似乎已将文件上传到服务帐户谷歌驱动器帐户。

如果您想将文件上传到您自己的个人 Google 云端硬盘帐户,您应该与您的个人云端硬盘帐户上的服务帐户共享一个目录,然后在创建文件元数据时,请确保设置您想要上传文件的父目录到 。

let fileMetadata = {
        'name': 'icon.png',
        'parents':  [  '10krlloIS2i_2u_ewkdv3_1NqcpmWSL1w'  ]
    };
Run Code Online (Sandbox Code Playgroud)

使用 Node Js 将图像上传到 Google 驱动器的代码以及 使用 Nodejs + 服务帐户的 Google 驱动器 API 上传文件