Как создать простое журналирование приложений с помощью Google-приложений - PullRequest
2 голосов
/ 21 октября 2019

Как следует из названия, я хочу построить простое приложение, которое имеет следующие функции:

  1. Оно активируется с помощью пункта меню в браузере Chrome.
  2. При нажатии откроется файл с текущей датой в определенной папке моих Документов Google.

    a) Если файл существует, затем:

    • Если он уже открыт, поместите его в фокус
    • В противном случае откройте его

    b) В противном случае создайте файл с текущей датойв указанном каталоге.

  3. Добавить средство для поиска в журнале

Я знаю, как реализовать большинство функций, кроме следующих:

  • Как связать скрипт с пунктом меню (может быть, с пустым документом, который просто содержит скрипт)

  • Как вызватьоткрыть документ, чтобы сосредоточиться.

Я пытался использовать один инструмент с вставкой даты в инструменты, но после увеличения размера он стал непригодным для использования. Все системы журналирования, которые я нашел, не предоставили то, что я искал.

1 Ответ

0 голосов
/ 23 октября 2019

Простое решение, которое удовлетворит все ваши потребности, но когда вы уже открываете файл, сфокусировано на следующем:

Создание веб-приложения скрипта Google Apps.

Идея здесьявляется то, что вы можете легко создать GAS WebApp , который вы можете добавить на панель Bookmars вашего браузера. При нажатии на него, он создаст файл ежедневного журнала, если это необходимо, а затем перенаправит вас к нему. Вы можете увидеть код ниже:

var TIMEZONE = 'GMT';
var FOLDER_ID = 'YOUR_FOLDER_ID';
var FILE_NAME_FORMAT = 'yyyy-MM-dd';

function createDocFile(fileName, folder) {
  return Drive.Files.insert({
    "title":    fileName,
    "mimeType": "application/vnd.google-apps.document",
    "parents":  [{"id": folder.getId()}]
  }).alternateLink;
}


function doGet() {
  var today = new Date();
  var fileName = Utilities.formatDate(today, TIMEZONE, FILE_NAME_FORMAT);

  var fileURL;
  var folder = DriveApp.getFolderById(FOLDER_ID);
  var fileIterator = folder.getFilesByName(fileName);

  if (fileIterator.hasNext()) {
    fileURL = fileIterator.next().getUrl();
  } else {
    fileURL = createDocFile(fileName, folder);
  }

  return HtmlService.createHtmlOutput('<script>window.location.href = "' + fileURL + '";</script>');
}

Для того, чтобы он работал на вас, вам придется адаптировать переменные, объявленные сверху, как вы пожелаете.

В дополнение к этому выТакже необходимо включить расширенный сервис Google Drive API. Для этого вы можете выполнить следующие шаги:

  • В редакторе сценариев перейдите в раздел Ресурсы> Расширенные службы Google.
  • В открывшемся окне найдите " Drive API"и включите его. Нажмите OK.

Наконец, вы можете развернуть его, выбрав «Публикация»> «Развернуть как веб-приложение». Обязательно скопируйте URL-адрес, который будет отображаться там, и создайте закладку на панели закладок с этим URL-адресом.

Альтернатива

Если вы действительно хотите, чтобы он работал так, чтобы открытый документ фокусировался, когдаон уже существует в вашем браузере, вам определенно нужно будет создать расширения Google Chrome . Чтобы эта проверка работала, вас может заинтересовать использование расширения Google Chrome windows api .

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...