Я пишу простой сценарий приложения, чтобы настроить права доступа к файлам, расположенным в корпоративном командном драйвере. Файлы и пользователи, которые должны быть включены, записываются в документ листов Google. Сценарий считывает каждую строку для имени файла и пользователя (идентифицируется по его / ее электронной почте) и устанавливает разрешение «просмотра». Базовый сценарий работает нормально, но имеет раздражающую функцию для отправки электронной почты каждому пользователю, для которого он устанавливает разрешение.
Вот рабочий код:
function simpleSetFilePermission_v1(filename, user_email){
var files = DriveApp.getFilesByName(filename);
while (files.hasNext()) {
var file = files.next();
if (file) {
file.addViewer(user);
return file;
}
}
}
В поисках решения, позволяющего избежать почтовых уведомлений. Я сталкиваюсь с различными сообщениями, в которых предлагается включить расширенные функции и получить доступ к файлам в TeamDrive с помощью Advanced Google Services ( сообщение о переполнении стека ).
Проблема в том, что APIS с gsuite скрипта приложений не работает.
function simpleSetFilePermission_v2(filename, user_email){
var files = DriveApp.getFilesByName(filename);
while (files.hasNext()) {
var file = files.next();
if (file) {
var _f_id = file.getId();
Drive.Permissions.insert(
{
'role': 'reader',
'type':'user',
'value': user_email
},
_f_id,
{
'sendNotificationEmails': 'false'
});
return file;
}
}
}
В этой функции у меня есть ошибки "файл не найден" с использованием функций Drive.Permissions . Я также попробовал другие Drive. * функцию с той же ошибкой. При использовании встроенных функций DriveApp. * все работает нормально, а идентификаторы файлов те же, что и при работе с Drive. * functions.
Есть ли какое-либо разрешение, которое должно быть установлено администратором (конечно, я включил расширенные службы)?
Есть ли какие-то ограничения на использование API вместе со скриптами приложения Google? Заранее спасибо
Guido