Поделиться отдельными документами Google Drive - PullRequest
0 голосов
/ 08 октября 2018

Я учитель, и я начинаю пользоваться Google классом.Так как несколько недель я сканирую задания своих учеников, я исправляю экзаменационные работы и получаю PDF, а также видеозапись исправления для каждого из моих учеников.С помощью python мне удалось собрать и организовать все эти шаги довольно легко.Теперь я получаю на гугл-диске все файлы с именами моих учеников.Я хочу поделиться этим с ними индивидуально.Я много читал в Интернете, чтобы найти решение, но кажется, что никто не делал этого раньше.Уже есть кое-что, что похоже на то, что я хочу, но я не могу использовать это для своих целей (AutoCrat).Я уверен, что смогу составить гугл-лист с адресами файлов каждого документа, электронной почтой каждого из моих студентов и запустить скрипт, чтобы поделиться документами с нужным студентом.У меня есть некоторые основы Python, но я не знаю, Google скрипт.Может ли кто-нибудь помочь мне получить то, что я хочу?Спасибо, Бенуа.

1 Ответ

0 голосов
/ 15 октября 2018

Я добился определенного прогресса.Наконец, я написал скрипт на python, чтобы дать правильное имя файлам.Затем я поместил файлы в папку с именем «dm3_1ereS» и написал скрипт, связанный с листом Google, который содержит некоторую информацию о студентах.Ниже сценарий, который я написал.Активный лист имеет несколько столбцов.Первый содержит информацию, чтобы узнать, был ли студент там ("") или нет "abs"), второй - его имя, третий - его фамилия, а последний - его электронная почта.В первой ячейке рядом со строкой последнего студента я поместил строку «fin», чтобы быть уверенным, что цикл while прекратится.getFolderID (досье) возвращает идентификатор досье.Идея сценария в том, что я проверяю не всех студентов, а проверяю, выполнил ли он задание.В таком случае я смотрю его файл в «dm3_1ereS» с его именем, делюсь им с ним и отправляю ему уведомление.Затем я приглашаю следующего ученика сделать то же самое.

function partage_notification() {
  var dossier = "dm3_1ereS"; 
  var dossier_id = getFolderID(dossier); 
  var app = SpreadsheetApp ;
  var classeur = app.getActiveSpreadsheet();
  var feuille = app.getActiveSheet();
  var row = 2;
  var col = 1;
  var folder = DriveApp.getFolderById(dossier_id); 
  var cellule = feuille.getRange(row,col).getValue(); 
  while (cellule != "fin") { 
    if (cellule == "") { 
      var nom = feuille.getRange(row,col+1).getValue();
      var copie = folder.searchFiles("title contains '" + nom + "'").next(); 
      var mel = feuille.getRange(row,col+3).getValue(); 
      copie.addViewer(mel); 
    }
    var row = row + 1; 
    var cellule = feuille.getRange(row,col).getValue();
  }
}

Я не понимаю, почему, но мне кажется, что мой сценарий не всегда дает один и тот же результат.Я сделал много испытаний, и я не могу это исправить.Не могли бы вы взглянуть и помочь мне.С уважением, Бенуа.PS: я надеюсь, что мой английский не будет проблемой, чтобы понять меня.

...