Использование электронных таблиц Google с приложением mit2 app inventory - PullRequest
0 голосов
/ 07 августа 2020

Я хочу использовать электронную таблицу Google с android. Пробовал программу-пример. Я создал новую таблицу. Я использовал пример кода скрипта. Я попробовал программу mit2 app. Эта программа является примером программы. Еще я пользовался почтальоном. Почтальон покажи мне ошибку. Страница ошибки почтальона. Состояние ошибки подключения почтальона 200 OK.

Сообщение об ошибке почтальона:


    <!DOCTYPE html>
    <html>
        <head>
            <link rel="shortcut icon" href="//ssl.gstatic.com/docs/script/images/favicon.ico">
            <title>ERROR</title>
            <style type="text/css" nonce="B6c+P2HTW+vClzlpE+anwg">body {background-color: #fff; margin: 0; padding: 0;}.errorMessage {font-family: Arial,sans-serif; font-size: 12pt; font-weight: bold; line-height: 150%; padding-top: 25px;}</style>
        </head>
        <body style="margin:20px">
            <div>
                <img alt="Google Apps Script" src="//ssl.gstatic.com/docs/script/images/logo.png">
            </div>
            <div style="text-align:center;font-family:monospace;margin:50px auto 0;max-width:600px">TypeError: Cannot read property &#39;getSheets&#39; of null (line: 15, file: &quot;denandroid&quot;)</div>
        </body>
    </html>

код сценария:


    function doGet(e) {

  return ManageSheet(e);
}

function doPost(e) {
  return ManageSheet(e);
}


function ManageSheet(e) {

  //READ ALL RECORDS
  if ( e.parameter.func == "ReadAll") {
    var ss = SpreadsheetApp.getActive();
    var sh = ss.getSheets()[0]; //  Postman problem line. 
    var rg = sh.getDataRange().getValues(); 
    var outString = '';
      for(var row=0 ; row<rg.length ; ++row){
        outString += rg[row].join(',') + '\n';  
      }
    return ContentService.createTextOutput(outString).setMimeType(ContentService.MimeType.TEXT);
  }

   //DELETE SINGLE RECORD
   else if (e.parameter.func == "Delete") {
    var record = e.parameter.id;
    var ss = SpreadsheetApp.getActive();
  //var ss = SpreadsheetApp.openById(e.parameter.ID);
    var sh = ss.getSheets()[0];
  //var sh = ss.getSheetByName(e.parameter.SH);
    sh.deleteRow(parseInt(record) + 1);  //makes the correct row to delete (because of header row)
    return ContentService.createTextOutput("Success, requested action completed");
  
}
 
}

почтальон говорит строку проблемы в строке кода скрипта 15. (var sh = ss.getSheets () [0]; // строка проблемы почтальона)

Также я использую turki sh язык в таблицах Google. engli sh name Sheet1 turki sh language Sayfa1 Я пробовал оба имени. но безуспешно.

Я использую эту строку для электронной таблицы подключения.

https://script.google.com/macros/s/AKfycbyTt9oaz10WuKh0822hBncRoJZAw-D4hcGMwJwdy95l8H_mXfE/exec?ID=18NFZD7vZ-JySbbV7jiZMBpiBsoLJ4IQge9Wk9cL6Z4c&SH=Sheet1&func=ReadAll

Пожалуйста, помогите. Спасибо

1 Ответ

0 голосов
/ 07 августа 2020

Проблема решена. Проблема в проблеме совместного использования. При совместном использовании это должно быть (Любой, даже анонимный). Google всегда хотел, чтобы я вошел в систему. При совместном использовании (файл кода сценария) должен быть, В первом окне должен быть выбран (я и адрес Gmail). (Любой, даже анонимный) должен быть выбран во втором окне. имя листа не проблема

...