您有两个选项可以获得
有人能指导我为以下代码创建一个auth对象吗!
const upload = require('google-drive-uploader');
const {id, size, md5, mimeType} = await upload({
path: '/path/to/file.mov',
folderId: '...Google Drive folder ID...',
auth: /* Google Drive auth object */
});
您有两个选项可以获得auth
- 谷歌驱动器上传程序包提供了自己的身份验证方法:只需定义
const auth = await upload.authenticate({
email: 'EMAIL',
privateKey: 'PRIVATE KEY'
});
- 传统的谷歌图书馆方法是
const {JWT} = require('google-auth-library');
const auth = new JWT(
'EMAIL',
null,
'PRIVATE KEY',
['https://www.googleapis.com/auth/drive']
);
await auth.authorize();
对于这两个选项,privateKey是您在创建服务帐户时获得的凭据
换句话说,要使用这个ppackage,您需要创建一个Google服务帐户,如所述
- 使用服务帐户时,
EMAIL
是服务帐户的电子邮件,而不是您自己的电子邮件 - 使用服务帐户时,如果您希望服务帐户将文件上传到您的驱动器,则应授予该帐户访问您的驱动器的权限
- 或者,您可以将模拟与域范围委派结合使用
- 后者允许服务帐户充当"用户";你";,这样您就不需要明确地与它共享您的驱动器和文件
- 有关如何使用模拟创建JWT身份验证客户端的示例,请参见此处