|
const GROUPADDRESS = '[email protected]' |
|
function sharedDriveFix () { |
|
let nextPageToken; |
|
let count = 0; |
|
do { |
|
let result = Drive.Drives.list({useDomainAdminAccess:true, pageToken:nextPageToken}) |
|
result.items.forEach((i)=>{ |
|
console.log(i.name,i.id); |
|
let nextPermPageToken |
|
do { |
|
let permResult = Drive.Permissions.list(i.id,{useDomainAdminAccess:true,pageToken:nextPermPageToken,supportsAllDrives:true}); |
|
for (let perm of permResult.items) { |
|
if (perm.emailAddress==GROUPADDRESS) { |
|
// Delete permission so we can re-add it |
|
let deleteResult = Drive.Permissions.remove(i.id,perm.id, {supportsAllDrives : true, useDomainAdminAccess : true}); |
|
console.log('Deleted: ',perm); |
|
// Now re-add it... |
|
let insertResult = Drive.Permissions.insert({ |
|
role : perm.role, |
|
type : perm.type, |
|
additionalRoles : perm.additionalRoles, |
|
id : perm.id, |
|
value : perm.emailAddress, |
|
|
|
},i.id, |
|
{ |
|
sendNotificationEmails : false, |
|
supportsAllDrives : true, |
|
useDomainAdminAccess : true, |
|
} |
|
|
|
) |
|
console.log('Re-added permission',insertResult); |
|
count += 1; |
|
} |
|
} |
|
nextPermPageToken = permResult.nextPageToken; |
|
} while (nextPermPageToken) |
|
}) |
|
nextPageToken = result.nextPageToken |
|
} while (nextPageToken) |
|
console.log('Re-shared permission for ',count,'drives') |
|
} |