function createPermissionOffic(auth){
const drive = google.drive({version: 'v3', auth});
var fileId = rootFolderId;
var permissions = [
{
'type': 'user',
'role': 'writer',
'emailAddress': 'someemailaddress@gmail.com'
}
];
// Using the NPM module 'async'
async.eachSeries(permissions, (permission, permissionCallback)=> {
drive.permissions.create({
resource: permission,
fileId: fileId,
fields: 'id',
}, (err, res)=> {
if (err) {
// Handle error...
console.error(err);
permissionCallback(err);
} else {
console.log('Permission ID: '+ res)
permissionCallback();
}
});
}, (err)=> {
if (err) {
// Handle error
console.error(err);
} else {
// All permissions inserted
drive.permissions.insert(
{
'sendNotificationEmails': 'false'
});
}
});
我遇到了以下错误:谷歌驱动器API文档没有太多详细说明。这是我得到的错误。 TypeError:drive.permissions.insert不是async.eachSeries上的函数
答案 0 :(得分:2)
我相信您的目标如下。
sendNotificationEmail: false
获得权限:创建方法。drive.permissions.insert
用于Drive API v2。并且在这种情况下,运行脚本时会发生错误。为了使用sendNotificationEmail: false
,请将其用于drive.permissions.create
。Rate limit exceeded
,当permissions
的数组长度很大时,可能会发生这种错误。因此,首先,作为测试,如何使用简单的情况检查请求是否有效。在问题的示例脚本中,使用了1
的数组长度。我认为如何使用它检查请求?res.data.id
使用rootFolderId
。当var fileId = rootFolderId;
是根文件夹ID时,会发生类似rootFolderId
的错误。所以请注意这一点。当以上几点反映到您的脚本时,它如下所示。
This file is never writable.