Метод makeCopy () в Google Apps Script создает копию на моем диске вместо диска клиента - PullRequest
0 голосов
/ 30 ноября 2018

Надстройка Google Sheets должна создать копию файла на диске клиента, вместо этого она создает копию на исходном диске.

Следующий скрипт в моем файле Code.gs должен сделать это, но делаетне похоже, что работает должным образом:

function createACopy(id){
  var docName = DriveApp.getFileById(id).getName();
  incrementDownloadCount(id);
  return DriveApp.getFileById(id).makeCopy(docName).getUrl();
}

function incrementDownloadCount(id){
  var sheet = SpreadsheetApp.openById(SPREADSHEET_ID).getSheetByName(DATA_SHEET);
  var data = sheet.getRange(2, 1, sheet.getLastRow()-1, 1).getValues();
  var pos =data.map(function (obj) { return obj[0]; }).indexOf(id)
  if(pos > -1){
    var val = sheet.getRange("J"+(pos+2)).getValue()+1;
    sheet.getRange("J"+(pos+2)).setValue(val);
  }
}

вот сценарий в файле HTML:

    function makeACopy(){
    $("#templtDtl button").remove();
    $("#templtDtl").prepend(
            "<div id='copying'><img src='https://cdn.spreadsheet123.com/images/app/loading.gif' style='float:left;margin-right: 10px;'/>Making a copy...</div>"
    );
    google.script.run.withSuccessHandler(afterMakingCopy).createACopy(DETAIL[0]);
}

function afterMakingCopy(url){
    $("#copying").remove();
    $(document.createElement("div"))
            .html(
                    'File has been successfully copied to your Google Drive! Open the file by clicking on the button below, or check your Google Drive for the file named:<br/> "'+DETAIL[4]+'"<br/><br/>'+
                            "<a href='"+url+"' target='_blank'><button class='action' style='margin-left: 0px'>Open file</button></a>"
            )
            .prependTo($("#templtDtl"));
}

, а вот HTML:

<div id="section3" style="display:none;">
            <div style="margin-bottom:10px;">
                <button onClick="backButtonPressed(3)">◄ Back</button>
            </div>
            <div class="scrollable-wrapper" style="padding:10px 4px;height:320px;">
                <div id="templtTitle"></div>
                <div id="templtImg"><div id="templtThumb"></div></div>
                <div id="templtDtl" style="padding-left: 26px;"></div>
            </div>
        </div>

Пожалуйста, дайте мне знать, если вам нужен дополнительный код?

Спасибо

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