共享个人文档Google云端硬盘

时间:2018-10-08 16:50:04

标签: google-drive-api share document personalization

我是一名老师,正在开始使用Google课堂。 几个星期以来,我扫描了学生的作业,因此我更正了试卷,并且得到了pdf文件以及每个学生的更正视频。 使用python,我可以很容易地收集和组织所有这些步骤。 现在,我在google驱动器上以我的学生的名字命名的所有文件。我想与他们分别分享。 我在Internet上阅读了很多文章以找到解决方案,但似乎以前没有人做过。已经有些东西看起来像我想要的东西,但是我不能出于我的目的使用它(AutoCrat)。 我确信我可以用每个文档的文件地址,每个学生的电子邮件地址做一个Google工作表,并运行一个脚本与合适的学生共享文档。 我对python有一些基础知识,但我不知道google脚本。 有人可以帮我得到我想要的吗? 谢谢,贝诺特。

1 个答案:

答案 0 :(得分:0)

我已经取得了一些进步。
最后,我用python编写了一个脚本,为文件指定了正确的名称。
然后,我将文件放在名为“ dm3_1ereS”的文件夹中,并编写了一个链接到Google工作表的脚本,其中包含有关学生的一些信息。下面是我写的脚本。
活动工作表有几列。
第一个包含用于了解学生是否在此的信息(第二个是他的名字,第三个是他的姓氏,最后一个是他的电子邮件)。 在最后一个学生所在行的第一个单元格中,我输入了字符串“ fin”以确保while循环将停止。
getFolderID(dossier)返回文件的ID。
脚本的想法是,当我不检查所有学生时,我检查他是否完成了作业。在这种情况下,我将使用他的名字查看“ 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:我希望我的英语对理解我不会有问题。