我正在使用谷歌驱动器授予驱动器文件夹权限。我可以使用 Google Drive API 创建共享云端硬盘的权限,但当我获取列表时,我没有获得权限电子邮件地址
const drive = google.drive({ version: 'v3', auth: oauth2Client });
await drive.permissions.create({
fileId: franchiseFolderId,
supportsAllDrives: true,
requestBody: {
type: 'user',
role: 'writer',
emailAddress: userEmail,
},
});
const permissions = await drive.permissions.list({
fileId: folderId,
supportsAllDrives: true,
});
console.log('permissions', permissions.data.permissions);
从上面的权限控制台我只能得到这些信息
[{
id: 'XXXXXXXXXXXXXXXXXXX',
type: 'user',
kind: 'drive#permission',
role: 'writer'
}]
电子邮件地址存在于打字稿类型文件中,但不在响应中。 我正在使用 google oauth 2 进行授权,并且在生成令牌时添加了一个范围
https://www.googleapis.com/auth/drive
在 Drive API v3 的“权限:列表”的情况下,似乎未将电子邮件地址作为默认值返回。那么,在您的显示脚本中,如何使用
fields
属性,如下所示?
const permissions = await drive.permissions.list({
fileId: folderId,
supportsAllDrives: true,
});
const permissions = await drive.permissions.list({
fileId: folderId,
supportsAllDrives: true,
fields: "*", // <--- Added
});
如果您只想检索权限 ID 和电子邮件地址,您还可以使用
fields
的值,如下所示。
fields: "permissions(id,emailAddress),nextPageToken",