无法通过驱动器 API 访问服务帐户"shared"的文件?



我在google drive上有一个文件夹,它是通过一个服务帐户创建的,并与我的用户共享。

  • 当作为我的用户时,我可以在UI中看到没有问题的文件夹
  • 作为服务帐户时,我可以通过API列出文件夹中的所有文件。

我的用户已被授予"编辑"目录权限。

我需要做的是通过API访问文件夹中的文件列表,使用我的用户的服务帐户。

我已经设置了域范围的委托,并包括范围:

https://www.googleapis.com/auth/drive.file

https://www.googleapis.com/auth/drive

作为服务帐户时,此查询返回100个结果但是,当模拟我的用户时,它返回0结果。

const auth = new google.auth.GoogleAuth({
clientOptions: {
subject: 'myemail@myorganization.com'
},
keyFile: './token.json',
scopes: ['https://www.googleapis.com/auth/drive.file'],
});
drive.files.list({
q: "'THE_FOLDER_ID' in parents",
fields: 'nextPageToken, files(id, name, parents,  appProperties)',
includeItemsFromAllDrives: true,
supportsAllDrives: true,
fields: '*',
spaces: 'drive'
}).then(response => {
console.log(response.data.files.length)
})

原来我需要使用"https://www.googleapis.com/auth/drive"而不是"https://www.googleapis.com/auth/drive.file">

相关内容

  • 没有找到相关文章

最新更新