GAS - Auto-Refre sh BigQuery (через Data Connector) не работает с скопированными файлами - PullRequest
0 голосов
/ 29 января 2020

У меня есть файл Google Sheets, который служит пустым шаблоном, который пользователи затем копируют для настройки. Все они сохраняются в GDrive той же организации.

В настоящее время в пустом шаблоне есть GAS, который работает правильно, чтобы автоматически обновлять sh отчет BigQuery с использованием соединителей данных (refre sh при открытии). Однако когда пользователи делают копию файла, GAS больше не выполняет запрос после повторного открытия этого скопированного файла. Ничего не изменилось с именами вкладок и т. Д. c., Только с именем файла Sheets.

Есть мысли о том, как настроить приведенный ниже код, чтобы GAS refre sh на всех копиях при открытии?

Заранее спасибо !!

ГАЗ:

function email(){
  var id=SpreadsheetApp.getActiveSpreadsheet().getId()
  var ss=SpreadsheetApp.openById(id);//need spreadsheet id
  var sh=ss.getSheetByName("New/Reorder Email");//when you open up a spreadsheet like this the active sheet is alway ss.getSheets()[0] the left most sheet so you should user get sheet by name instead.
  var rg=sh.getRange('A2:F2');
  var email=rg.getValues()[0];
  if (email[4]!="E-MAIL SENT") { 
  GmailApp.sendEmail(email[0], email[1], email[2]);
  sh.getRange('E2').setValue("E-MAIL SENT");
  }
}

function doGet() {
  return HtmlService.createHtmlOutputFromFile('sendemail');
}

HTML:

<!DOCTYPE html>
<html>
  <head>
  <base target="_top">
  </head>
<body>
  <input type="button" value="Send" onClick="google.script.run.email();" />
</body>
</html>
...