如何为 npm 包设置"google-drive-uploader" Google 云端硬盘身份验证对象



有人能指导我为以下代码创建一个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

  1. 谷歌驱动器上传程序包提供了自己的身份验证方法:只需定义
const auth = await upload.authenticate({
email: 'EMAIL',
privateKey: 'PRIVATE KEY'
});
  1. 传统的谷歌图书馆方法是
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身份验证客户端的示例,请参见此处

最新更新