使用 google 驱动器 api 上传文件后看不到文件
Can't see file after uploading it with google drive api
我想使用 google drvie api 上传文件。代码 returns 200 OK 但是当我在浏览器中登录 google 驱动器时看不到该文件。
credentials.json 是从 service_account 生成的。此帐户与 google 驱动器 api 关联。
打开文件夹时,parent 中的 id 从浏览器地址栏复制。此文件夹也与服务帐户共享。
const auth = new google.auth.GoogleAuth({
keyFile: 'credentials.json',
scopes: ['https://www.googleapis.com/auth/drive.file'],
});
const drive = google.drive({version: 'v3', auth});
const fileMetadata = {
'name': 'test.txt',
'parents':[{"id":"1yh6V..."}]
};
const media = {
mimeType: 'text/txt',
body: fs.createReadStream('test.txt')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, (err, file) => {
if (err) {
console.error(err);
} else {
console.log('Upload success!');
}
});
使用云端硬盘 API 上传文件时,您似乎正在使用 Node.js,您可以使用这个:
const fileMetadata = {
name: 'test.txt',
parents:["1yh6V..."]
};
const media = {
mimeType: 'text/plain',
body: fs.createReadStream('test.txt')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, (err, file) => {
if (err) {
console.error(err);
} else {
console.log('Upload success!');
}
});
更改如下:
- 将纯文本文件的
media.mimeType
替换为 'text/plain'
,这里是支持的列表 Export MIMETypes
- 根据此 create file in a folder using Node.js 将
fileMetadata.parents
替换为 ["1yh6V..."]
,其中指定了 parent
属性
注:
由于可用环境平台的限制,我无法重现您的问题。我只是在寻找可以帮助验证您的代码的有用参考资料。
我想使用 google drvie api 上传文件。代码 returns 200 OK 但是当我在浏览器中登录 google 驱动器时看不到该文件。 credentials.json 是从 service_account 生成的。此帐户与 google 驱动器 api 关联。 打开文件夹时,parent 中的 id 从浏览器地址栏复制。此文件夹也与服务帐户共享。
const auth = new google.auth.GoogleAuth({
keyFile: 'credentials.json',
scopes: ['https://www.googleapis.com/auth/drive.file'],
});
const drive = google.drive({version: 'v3', auth});
const fileMetadata = {
'name': 'test.txt',
'parents':[{"id":"1yh6V..."}]
};
const media = {
mimeType: 'text/txt',
body: fs.createReadStream('test.txt')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, (err, file) => {
if (err) {
console.error(err);
} else {
console.log('Upload success!');
}
});
使用云端硬盘 API 上传文件时,您似乎正在使用 Node.js,您可以使用这个:
const fileMetadata = {
name: 'test.txt',
parents:["1yh6V..."]
};
const media = {
mimeType: 'text/plain',
body: fs.createReadStream('test.txt')
};
drive.files.create({
resource: fileMetadata,
media: media,
fields: 'id'
}, (err, file) => {
if (err) {
console.error(err);
} else {
console.log('Upload success!');
}
});
更改如下:
- 将纯文本文件的
media.mimeType
替换为'text/plain'
,这里是支持的列表 Export MIMETypes - 根据此 create file in a folder using Node.js 将
fileMetadata.parents
替换为["1yh6V..."]
,其中指定了parent
属性
注:
由于可用环境平台的限制,我无法重现您的问题。我只是在寻找可以帮助验证您的代码的有用参考资料。