簡體   English   中英

Google Apps腳本變量傳遞

[英]Google Apps Script Variable Passing

我正在自學Javascript,並且需要在我認為非常有幫助的舊帖子上進行解釋。 如果這看起來像是關於stackoverflow的冗長文章,我預先道歉。

我正在引用這篇文章: 帶有文件上傳的Google Apps腳本創建表單

我使用了腳本並嘗試學習它,因為我有一些高中生,他們想要創建一個google webapp來收集項目的數據和信息。 當然,我必須自己學習並加以解釋。 我不確定有兩個部分。 這是代碼。

var submissionSSKey = '0Agd12jO_f4DrdFFYemZvRERvLWQ4UEhENllaWlVwOFE';
var listitems = ['Select a category','Portrait','Landscape','Night shots','Nature','Various']
var schoollist =['Select School','AFNORTH','Baumholder','Bamberg','Lakenheath MS']
var Panelstyle = {'background':'#dddddd','padding':'40px','borderStyle':'ridge','borderWidth':'15PX','borderColor':'#aaaaaa'}




function doGet() {
  var app = UiApp.createApplication().setTitle('i14 Art Submission').setStyleAttribute('padding','50PX');
  var panel = app.createFormPanel().setStyleAttributes(Panelstyle).setPixelSize(400, 200);
  var title = app.createHTML('<B>I14 Art Submission</B>').setStyleAttribute('color','grey').setStyleAttribute('fontSize','25PX');
  var grid = app.createGrid(7,2).setId('grid');
  var list1 = app.createListBox().setName('list1');
   for(var i in listitems){list1.addItem(listitems[i])} 
  var Textbox1 = app.createTextBox().setWidth('150px').setName('TB1');
var schllist = app.createListBox().setName('schllist');
   for(var i in schoollist){schllist.addItem(schoollist[i])}
  var Textbox2 = app.createTextBox().setWidth('150px').setName('TB2');
   var email = app.createTextBox().setWidth('150px').setName('mail');
  var upLoad = app.createFileUpload().setName('uploadedFile');
  var submitButton = app.createSubmitButton('<B>Submit</B>'); 
  var warning = app.createHTML('Please fill in all fields').setStyleAttribute('background','#bbbbbb').setStyleAttribute('fontSize','20px');
  //file upload
  var cliHandler2 = app.createClientHandler()
  .validateLength(Textbox1, 1, 40).validateNotMatches(list1,'Select a category').validateEmail(email).validateNotMatches(upLoad, 'FileUpload')
  .forTargets(submitButton).setEnabled(true)
  .forTargets(warning).setHTML('Now you can submit your form').setStyleAttribute('background','#99FF99').setStyleAttribute('fontSize','12px');

  //Grid layout of items on form
  grid.setWidget(0, 1, title)
      .setText(1, 0, 'Category')
      .setWidget(1, 1, list1.addClickHandler(cliHandler2))
      .setText(2, 0, 'School')
      .setWidget(2, 1, schllist.addClickHandler(cliHandler2))
      .setText(3, 0, 'Name')
      .setWidget(3, 1, Textbox1.addClickHandler(cliHandler2))
      .setText(4, 0, 'Email')
      .setWidget(4, 1, email)
      .setText(5, 0, 'File Upload')
      .setWidget(5, 1, upLoad.addChangeHandler(cliHandler2))
      .setWidget(6, 0, submitButton)
      .setWidget(6, 1, warning);

  var cliHandler = app.createClientHandler().forTargets(warning).setHTML('<B>PLEASE WAIT WHILE THE FILE IS UPLOADING<B>').setStyleAttribute('background','yellow');
  submitButton.addClickHandler(cliHandler).setEnabled(false);  
  panel.add(grid);
  app.add(panel);
  return app;
}


function doPost(e) {
  var app = UiApp.getActiveApplication();
  var ListVal = e.parameter.list1;
  var SchoolVal=e.parameter.schllist;
  var textVal = e.parameter.TB1;
  var Email = e.parameter.mail;
  var fileBlob = e.parameter.uploadedFile;
  var img = DocsList.createFile(fileBlob);
  try{
  var folder = DocsList.getFolder('Illuminations 14 Submissions/Art');
  }catch(e){DocsList.createFolder('Illuminations 14 Submissions/Art');var folder = DocsList.getFolder('Illuminations 14 Submissions/Art/')}
  //var schoolFolder = folder.createFolder(SchoolVal)
  img.addToFolder(folder);
  img.removeFromFolder(DocsList.getRootFolder())
  var sheet = SpreadsheetApp.openById(submissionSSKey).getSheetByName('Art');
  var lastRow = sheet.getLastRow();
//  var image = sheet.insertImage(img.getUrl(), 4, lastRow+1)
  var targetRange = sheet.getRange(lastRow+1, 1, 1, 5).setValues([[SchoolVal,ListVal,textVal,Email,img.getUrl()]]);
  //var GDoc = DocumentApp.openByUrl(docurl)
  //GDoc.appendTable([['Category : '+ListVal,'Name : '+textVal,'Email : '+Email]])
  //var par = GDoc.appendParagraph('IMAGE PREVIEW')
  //par.insertInlineImage(1, img.getThumbnail())
  //GDoc.appendHorizontalRule();
  //GDoc.saveAndClose();
  app.add(app.createLabel('Thank you for submitting'));
  return app
}  

我的問題在函數doPost(e)中,如何使用像var ListVal = e.parameter.list1;這樣的聲明從functio doGet()中獲取值的變量聲明? 它是電子參數嗎? 我不確定e.parameter的工作方式。 創建文件夾還有其他問題,但這是第一步。 在此先感謝您的時間。

拉德利

為了闡明您對事件信息對象中可用內容的理解(本例中為e),您可以做的最好的事情就是使用JSON.stringify()對其進行可視化。

只需在doPost函數中添加Logger.log(JSON.stringify(e)) ,並在提交表單后查看Logger。 您將看到可以使用e.parameter.xxx檢索的所有e屬性。

這是您將獲得的視圖:(文件內容占用大量空間,但有趣的部分就在此之前...)

[13-12-06 10:10:27:051 CET] {"queryString":"lib=M_GmTb8T2JCyVLBlttWTHDatIT_UhbT9n&appId=u319190436783&formId=u319190436784&token=AJuLMu1iovLYxDewmZo0Tuv1g2KyC08GJQ:1386320938133&gm1xs=&service=AKfycbymlbEFYZuYIE63cHPT9FlM8WsuWl5fAZFQDdSa9hJ6","parameter":{"gm1xs":"","mail":"testemail@ccc.cc","appId":"u319190436783","lib":"M_GmTb8T2JCyVLBlttWTHDatIT_UhbT9n","list1":"Portrait","token":"AJuLMu1iovLYxDewmZo0Tuv1g2KyC08GJQ:1386320938133","formId":"u319190436784","file":"�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000�\u0000\u0000\u0000�\b\u0002\u0000\u0000\u0000Ada�\u0000\u0000\u0000\tpHYs\u0000\u0000\u000b\u0013\u0000\u0000\u000b\u0013\u0001\u0000��\u0018\u0000\u0000\"liCCPPhotoshop ICC profile\u0000\u0000x��EP\u001e^�����������;�`�\u0000\t.\t�A�\u0006\u000b\u001a\u0002!X \u0010 �[���s��T��V�fn}Ϫ�Y��S��uw5\u0000�{�^^nP,\u0000�=�|t\u0014e���M�\u0010\u0001\u0018 \u00028\u0000\u0000nk[_/i--5���<�\u0000\u0000�,����\u001b�\t����\u0016\u0000�\u0016\u0000�����\u001d\u0000H7\u0000@����\u000f\u0000�%\u0000`*���\u000f\u0000�\u0010\u0000\u0000����\u0004\u0000�O\u0000\u0000��?�\u0011\u0000\u0000����\u0004\u0000\u0018\u0000\u0000�����\u0002\u0000�\u0003\u0000\t����\u0011\u0000T*\u0000\u0000U���\u001f\u0000�R\u0000 �x�9{\u0000��\u0007\u0000�����\u001d\u0000�o\u0000\u0000l��v\u00000�\u0003\u0000�l��<��[N���im��\u001f�?\u0001\u0000\u0000�����kHe�g����a\u000f�������\u0005\u0001\u0000�9�(�\u0000\u0000�\u0000\u0000d�\u0007�\u0000>�\u000b\f\u0001\u0015�\u0007~�\u001a�\u0001O�\u0001<���}�\u001f\u0000\u0000�zz\u0005�8;:�QI{y�ٳQ){�r�Q�pqs���ddlB�Ot�\u0013@\u0000\u0000\u0010\u0002���\"\u0010\u0000��\u0006\u0000�����\t\u0000u�\u0000���G�\u000f\u0000N-\u0000mg��>\u0001�xp\u0000\u0000\u0000\u000fP\u0000&�\u0003Ā\u0002�\u0002&�\u000ex�\u0000\u0010\u0005R@\u001e�\u0000M�\u0007��\u0005�\u0005N�\u001d�@\u0010\u0006�A<H\u0006��[�\u0007�A)�\u0002��\u0019��n�\u0019��q0\u0005~�_`\rl�Cp\u0006��=\u0004\u0002A��Cp!�\u0010J\b=�\u0015�\u0003\u0011�H@�!j\u0010\u001d�1�\n�\b��C� ��dH\u0006$\u000f�\u001eR\ri�tB>C� ӐE�:d\u001fr\u000e�� hP<(9�\u0001�\t\u0015�JCU�zPs�#�\u001b\u001a\u0002���Bs�%�:h\u001b�3t\u001c�\u0003�\u0006=�^�\u0000\f\u0015F\u0000���Ä`�0M�\t�\u0001�\u0003��%��`%�\u0006X\u0017l\u00146\u000b[�\u001d�n�\u0010�p����D����l��\"�R��������f�����������Y�E����\u001d�\u0003����+�[���o�_#  \u0010 0\"\b\"(!\u0018#� �\"� \u0014\"|@�G�F�D�BDD$FdE\u0014G�D�F�C�G�E�C�C�A�F�D�ă��d��\u0014���T�ԋ4���t���L�,���l�\u001c���\\�܅�\u001dy\u001b�\u001e\u0005\u001b�\u0011E\u001cE\u000f�\u0005%\u001a%\u0007�\u0001e\u0018e\u0019�\u0002\u0015\u0015�\u0006U\u0018U\u001b�\u00195\n5\u0007�\u0011�\u000b�:�-\u001a\u000e\u001a\u000b�,�\u0019�?Z*Z%Z?�\"�\u0005:::\u0003�\u0014�\t�\u001fz*z5� �*�_\f\\\f\u000e\fe\f;�H�|�6�\u0019�\u0013LdLzLiL\u000b�\u0010�,�\u0016��GX�X\fX�X�X\u0011X�X�X\u000bXWظ��ؚ���)�5�c�{8�8\f8�8v8q8�8�8��0\\Z\\Y\\[�X�2�a�m<\u0004<F<e<\u0017�d�z�I�3|\u001c|>|\u0003� �|�\u001e�5\u0002\u0018\u0001\u0003�2�\u001bA\u001aA3�<�\u001d!9�4�=a\"a\u0003�\f�\r\u0011)�\u0014�=Q\u0012�\u0007�\u001fDw�T��Į�����+$p$,$�$�$E$�$G�x�����I�ͤKdP2\u00162\u001d�P�R�\t�+r\nrEr/�\\�A�#\n\u0002\n)\n\u0017�7\u0014�\u0014�\u0012�Δo(�(\u000f�𩤩ܨr���Ψɨ����SOR��0�����|�Y�E�\u0015�u�}C;@{FGI�N\u0017FWK�D�L/D�D�M?J���`�𒡝a���Q�1���q�\t�I�ɛ��i�\u0019�Y�ٕ��y�\u0005����Ē��\u0015�*���Z�:�\u0006�&���V¶���.�\u001e�^˾�A���\u0011���q�I�i�9�������U���\u001b�[�;����ǖ'�g�\u0017�W�7����\u000f\u001f+�=_\u0011�O~\\~u���\u0003�\u0002�\u0002>\u0002\r\u0002�t�V�\u0005�\u000bBxBZB)B_��e�#���oE\u0004D�D�ENE�E]EkD��\u0018�����6�iĭ�ߋ�IPIXI��X�����,�ܐ������ڕf�v���>���i���\u0015�\r�헃�)�%�M������ɯ*�(8*�*�)�+�*�+�+�*�+-(�+�*W+��\b���\f�����n����u�C�U�3՗5�5<4�5���f��\u0016����'m\u0004m-�|�\u001d\u001dn�0�Q]\\]K�\u001a�k=\u0019�4�_�L���\u0003\u0006�\u0006f\u0006�\u00067�r�\u0019�kF�F�F��$���\u001d&�&\u0006&\u0015&W��oM��������\u0019̓��,H,�,z,1-�-[��\f�j�\u001e�5�K��l�m\nl�lem�m\u000f�����ۋ�g��:�;d8�9�;f:�;I:e9\u001d9�:�9�qQr)v�q�t�t}v3t����n������1�I�\u0019�9���\u0015��-�����Gէ�\u0017�k������7�����=@\" ?�o�A`K\u0010v�G�D0Kpb�n�BHy(\\�m�@\u0018uXt�z�t��\bH�M�@$md\\�v�bTU4J�k��\u0018�����X�خ8򸨸�\u0017�/j�1�}�\u0017^��,N�KpN�L�M�M|J�K�̕���b���\u0015���Wϩ\u000e��i\u0002iE�\u0011^{��O�L����\b���T�l{C�&���[˷cY|Y��(���k9j9\u001d�t��s\u001f��~���( +H,�)�+�)�*j(&/N.�{����{��m%\f%Y�\b�\u0001�;e\u0006e��B��\u0015$\u0015�\u0015��\u001e�kU:UCՂ��5d5i��Z���:���z��\u0006���\u001f\b>$7�F�ƃ&���f��\u0016�����\u001f\u000bZq[�� m�mg�N�k\u001d�\u001dӝ*�\u0003]�]��8>UvSw����������>���]�{�\u001f}v�9`9�k�hpnH{hrXu�ˈ����h�\u0017�/�c\"c�_����\u000b��M�O�~���:)0��]�{ǔ�T״�t����Y�ّ9��\u001f\u001a?����.�-�����g)`��W�2�r�\n�J�*�j�o��\u001f�\u0004�z���'6t7~m�n\u001en�n=l���d�R�V���u�+�O\u001d�\u001el\u001fz\u001d�\u001f�\u001fc\u001f\u0017�0�|<�:�83:������<����r�J�j�����&�/�ߪ[���;û���\u0007ć�G�Ǯ'է�g��g/k\u001fk\u0000�?m%��\u0001��J\u0000Ѝ\u0001��\u0002\u0000���~�_�A\u0000�\u0002\u0000�A)��\u0018Bڡ��@�/�\f�\u001a\u000e\u000f.\fn\u000f^\u000f�\u0017�\u001d�\u0000\u0011\r1\u0014�\u0010�\u0002i\u0006Y\u0001�\u0007�\u0017�\u001a�\u0016�\u0000�\b-\u0013\u001d\u0013=\u0015\u0003\u0003�\u0015&\u0016f&\u0016\t�;l&�\u0016\u001cq�q\\\u0013�C�\b|<�Z\u0002\u0005�u�H\"j�!b7\u0012\u0002�AR_2F�U�<\nCJR�u�\u001a� \u001aeZ\n�\u001b�\u0019�\u000f\fi�\u001eL\u001a�\u001c,�,���l3�\u001c]��\\-�m<=�_����\u0005��\b��E4D�Œū%�$K]ˠ�\u0012�Q�3(�(�+q(s�������3j�jRj�j\u0013�`��!�C��\fn\r��΍�L�M�͎̏-�,/��l��hvD�\f\u000eB�jN���.E���\u0016�/=��ؽU|\u001c|c��\u0003~\u0006^\u0005�p�����'DTD\u000eFm�@b��$_X�G�|��9q3\u0019>��j�gZ����L�7�ou�B��s����3\u0014�\u0016F\u00175\u0016���.�+\r,�)_�ĩR�\u000e�i�ݫ�l0��8�\fi\u0011�\u0018���v�����U�鸇�ק���q@~0uhq�~����W�q牾I��>S�g8g��N�5\u0017>,b.y��Z�Y}������\u0016���]����P������\u001f���K�����[ڻ�'����f��R�Q�Q�Q�V����d�b�fСե�#�'6 4�3�1�2�0E7C3ǰ��Ķ·&���e��\u0017sPv4rrq�t�t�t����c���\u001b��ȗ�O�_-�,�=(\"8-�8�)�s�l�V�u4R\fI,{��\u000b�xǗa\t鉕I��?RNR\u0011�h^��\u001bg\u0004ff�i����C����_T0Qx_����}^�l\u0019Z�RE\\�@5�F�6�n�\u0001��vcN�z\u000b�ǀ��v�\u000e�ΦO�n���>H����A�!��Q�/�c+�\u0012\u0013�&��\u001d��g�g����\u0016�\u0017Y�^��Z1[\u001d\\c]���=�+��z�xXp�w�z����\u0005�e�5�Mϭ���C�����)�+������1��hPh\u0012k�jc� �Bu\u001f����\u0018\u001c\u0019�\u001am\u0018�6Y1]6�e�l��r�������\u000eŞԁ�Q���9ƥ�u�m�\u0003ٓ�K���'���߂�] y�T�]HBh]�T�U$I�d�}LrlS��\f\t��IEɣ)���i����s2\u00063Oޒf)f��ϝ�{(`-4)J(�x�WB\\�R\u0016Z^[�\\�V-^�^[X7Y��Ѻ)�y�底�ͼ=�c���\u0013o�kOY��~�φ\u0003Y���D#f�%_���GOLM�~\u000f����M�ۛ�_(Y\u0004K濺WHWC/�Kl�n!m{�,�)�\u001d�\u001c\u0015�\u0010���!=/��\u001a�����kyp}�x~\u0006���\u0002\u0000\u0000\u0010\t\u0000P\u0001\u00000�\u0007@I\n�<)\u0000�\u0000�\u0001\u0000hI\u0001�'\u0005 /l\u0001$�\t@��\u0001\f�\u001f~\u0000\u0000\u0001P\u0000\u0007\u0010\u00002@\u0003X��=�\u0000\u000b�\u0002B@\u0012(\u0002-`\fl�\u001b\b\u00041�\u0015�\u0005�\u0019�o�\u00178\u0000�\u0010$\b\u0011�\t\"\fQ��B�!Q�\fH\u0005�\u0013�\r�\u000e���B��\u0002P5�-4\u0004�\u000e���CB��P`�01�\u0001�\u000b�\u0004+����`�p�p�p�p�p1p�p�p�p��x�<�Z�\u001e�)��c�{\b�\b\f\b\n\b�\bq\be\bC\b[�p�t�r�v�/\u0010�\u0011G\u0010w�\u0010�\u0018�������j�&���1�9�����3�[� _�\u0010�\b�\u0018���\u0014�����<�R�ʠڢơ�����!���������5�M�����\u001b�\u0007��B_A ��ÈǨ��q���Ƀ��\u0019���ً��\u0005�Ō����\u0006�\u0003k\u0019\u001b`�b+b�b�a�`/`��P���8�$�4���\\�\u0012��Z���Ɲ�=���\u0013�3ŋ�+�\u001b�;�������\u000f�/����$@$`%� �!�\"�$X!\u0004�t�J���i�-��wD\u0014D2D�D�D�D�DW�������/���'��I\bIDI�H�H�I&I.H�H�ImI\u0013H\u001bHgIo�(�\u0014���2�:���\u0011�9�\r�#�+�'�o(()�(|(�)�)N)I(�(=)�)G)/�(�Ԩ��*�f�!�\u001c�f�IԝԻ4\u00044r4�4�43�PZnZk�t�\u0001�s:Z:=�\u0017tmt��������\u001f��\u0019�\u0018\u0014\u0018�\u0019�\u0018~3�2*0�060n0\u00110�2E2}d�g�`�eN`�e�daf�dy�2�\ne\u0015f�b�d]e�gSc�c��v���n˞�>ˁ�!�\u0011���q���i͙�9DžΥ�\u0015���늛�ۙ��{���G�'��\u000b/�W�7�������ϑ��o���_�?�B\u0000I@N J�[� ���`��\u0010���P�В0����k�\t\u0011d\u0011y�\u0018�^�{QAQ_�F�#1f1{�\u0012�Uq\u0012qC�L��\u0012�\u0012J\u0012q\u0012�\u0012\u000f�B���\u001f$\u000f�\u0018�l�����\t�u�Ӥ'd�d�ebd�d\u001ed�e\u0003e?ʞ�q�y���\u001d�3�;ȗ�o*�(X+�S�H�h�X���D�d�T���L�l�\\���B�b��Ne]�F�N�\\uG�I�E�N�D�K�G��F�F�&DSN��\u0016����[�Em2m+�2�=\u001d6\u001do�V�;]\t�X�/z�z:z�z+�4����\u0017\u0006�\u0006�\u0006Æ��چن�FtF�F�F��R�/�'M�M�M�L�LyMCM\u0007�P�t��Ͷ�����{,\u0010,4,�-�,�-},���4�r�6�Y���l�mtm\nmvmyl�lG����*�����\u0013�g\u001d(\u001c�\u001dZ\u0

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM