0

У меня есть GSuite с группами пользователей, каждая группа - это один отдел в организации. Я получил следующие разрешения в настоящее время:Различные роли для папок и файлов в Google Диске (GSuite)

  • Каждый отдел может изменить свою собственную папку
  • Каждый отдел может просматривать папки других отделов

Только я хочу, чтобы каждый отдел, который может просматривать что-то, также может комментировать файлы GDoc и файлы электронных таблиц. Я знаю, что могу изменить это на каждом файле индивидуально, но наш диск имеет более 1000 файлов GDoc. Я не собираюсь каждый старый (и новый) файл менять это разрешение каждый раз.

Я попытался решить эту проблему с помощью сценария и попытался

  • file.addCommenter (электронная почта); -> Недопустимый аргумент: permission.value
  • file.setSharing (DriveApp.Access.PRIVATE, DriveApp.Permission.COMMENT) -> Нет ошибки, но и результата нет.

Кто-нибудь знает, почему это решение?

ответ

1

file.addCommenter (электронная почта); -> Недопустимый аргумент: permission.value

Это сложный вопрос. С июля 2014 года (!) Есть open issue #4231 об этом. Я лично не сталкивался с этим, но, видимо, это проблема, хотя может быть и редкой. Является ли это конкретным типом файла, с которым это не удается? Я только что проверил file.addCommenter(email) на всех типах файлов Google, и он работал без проблем для меня.

Учетная запись, выполняемая вашим скриптом под ВЛАДЕЛЬЦЕМ этих файлов, или только доступ к ним «РЕДАКТИРОВАТЬ»? Включен ли параметр «Предотвращать изменение редактора и добавление новых пользователей» для этих файлов? Это некоторые вещи, которые я бы начал проверять, чтобы определить причину проблемы.

Если все остальное не удается, я предлагаю вам обратиться к представителю службы поддержки Google с этой ссылкой. Для этого в вашей панели управления GSuite должна быть ссылка.

file.setSharing (DriveApp.Access.PRIVATE, DriveApp.Permission.COMMENT) -> Нет ошибки, но результата нет.

Я не думаю, что это будет делать то, что вы ожидаете от этого. setSharing() method устанавливает свойства совместного доступа к файлу , кроме тех, кто явно предоставил доступ. В принципе, метод setSharing() не изменит доступ к совместному доступу пользователей, которые уже явно предоставили некоторый уровень доступа к файлу.

Способ, которым вы могли бы использовать его, - предоставить COMMENT доступ к файлу любому пользователю в вашем домене, используя file.setSharing(DriveApp.Access.DOMAIN_WITH_LINK, DriveApp.Permission.COMMENT), при условии, что вы являетесь GSuite для бизнеса или пользователей EDU.

Надеюсь, это поможет!

+0

Ах спасибо, что это работает! Вы знаете, как я могу отключить все уведомления по электронной почте? –

+0

AFAIK, изменяющий разрешения/совместный доступ через Google Script, всегда отправляет уведомления - нет возможности отключить его. – azawaza

+0

Ах это плохо: / –