如何在编辑时从谷歌驱动器表获取通知?

时间:2016-05-27 12:08:39

标签: google-drive-realtime-api

当有人对存储在Google云端硬盘中的文档进行更改时,我想向第三方应用程序发送通知。

有人可以帮助我,告诉我如何将脚本绑定到任何文档,当有人在该脚本中进行更改时,应该运行并向第三方应用程序发送通知。

我已尝试过以下代码但它无效。

    function onEdit(event){

  var sheet = event.source.getActiveSheet();
  var editedRow = sheet.getActiveRange().getRowIndex();
  var editedolumn = sheet.getActiveRange().getColumnIndex();
  var values = sheet.getSheetValues(editedRow, editedolumn, 1, 6);
  Logger.log(values); 
  getSession();
}

function getSession(){  
 var payload =
   {
     "username" : "username",
     "password" : "password",
   };
  var options =
   {
     "method" : "post",
     "payload" : payload,
     "followRedirects" : false
   };  
  var login = UrlFetchApp.fetch("https://abcd.service-now.com/nav_to.do?uri=login.do" , options);
  Logger.log(login);
  var sessionDetails = login.getAllHeaders()['Set-Cookie'];
  Logger.log(sessionDetails);
  sendHttpPost(sessionDetails);
}


function sendHttpPost(data) {
  var payload = {"category" : "network","short_description" : "Test"};
  var headers = {"Cookie" : data} 
  var url = 'https://abcd.service-now.com/api/now/table/incident';
  var options = {'method': 'post','headers': headers,'payload': payload,'json': true};
  var response = UrlFetchApp.fetch(url, options);
  Logger.log(response.getContentText());
}

1 个答案:

答案 0 :(得分:1)

当有人对存储在Google云端硬盘中的文档进行更改时向第三方应用程序发送通知

根据此Google Drive Help Forum,此功能尚未添加。但是,您可以在电子表格中设置通知,以了解电子表格中何时进行了一些修改。设置notifications in a spreadsheet

  1. 打开要设置通知的电子表格。
  2. 点击工具>通知规则。
  3. 在出现的窗口中,选择您想要的时间和频率 收到通知。
  4. 点击保存。
  5. 并且,将脚本与任何文档绑定

    您可以在Scripts Bound to Google Sheets, Docs, or Forms文档中找到完整指南。如上所述,

      

    要创建绑定脚本,请打开Goog​​le表格,文档或表单文件,然后选择工具>脚本编辑器。要在将来重新打开脚本,请执行相同的操作。由于绑定脚本未显示在Google云端硬盘中,因此该菜单是查找或打开脚本的唯一方法。