我正在尝试获取Google团队驱动器中所有文件的列表。代码如下:
drive.files.list({
auth: oauth2Client,
corpora: "teamDrive",
includeTeamDriveItems: true,
supportsTeamDrives: true,
teamDriveId: someId
}, (err, response) => {
if (err) {
console.error("The API returned an error: " + err;
return;
}
console.log(response);
});
但是,这只会返回位于我自己的驱动器中的文件,而不会返回位于共享驱动器中的文件。
然后我转到files.list documentation,并使用旁边的“试用此API”框输入完全相同的信息(以及相同的范围https://www.googleapis.com/auth/drive),并使用相同的身份验证谷歌帐户。这会按预期返回位于团队驱动器中的文件。
那么,我在代码中做错了什么会导致它不返回团队驱动器中的文件,为了使它工作,我必须做些什么改变?
答案 0 :(得分:0)
感谢github页面上的this issue找到了原因和解决方案。
基本上,谷歌提供的快速入门指南告诉你使用google-auth-library@0.*这个包,这是一个很大的错误。似乎google-auth-library的v0。*错误地处理了您传递的参数,这意味着它们不会包含在请求中。幸运的是,googleapis软件包包含自己的更新版本的google-auth-library,因此您可以使用它进行身份验证。一旦改变了,原始问题中的代码就会按预期工作。