如何从模板创建Google电子表格?

时间:2016-12-05 18:42:25

标签: javascript google-sheets google-drive-api

我有一个使用Google Drive和Spreadsheets API的网站。我想要做的是,如果找不到具有特定条件的电子表格,则在用户的Google云端硬盘上创建电子表格。 电子表格应该是我的Google云端硬盘上的公开电子表格的副本。

/**
* Find the right file.
*/
function findFile() {
  appendPre('Finding file…')
  var request = gapi.client.drive.files.list({
    "q": "fullText contains 'Omregning fra klokketimer (60 minutter) til skoletimer (45 minutter) (Summering av fravær i Skolearena er i klokketimer)'"
  });
  request.execute(function(resp) {
    if (!resp.error) {
      console.log(resp);
      spreadSheetId = getID(resp.items);
    } else if (resp.error.code == 401) {
      // Access token might have expired.
      checkAuth();
    } else {
      appendPre('An error occured: ' + resp.error.message);
    }
  });
}

/**
* Find ID of the right file or create a file if none exist and return ID
*/
function getID(items) {
  for (var i = 0; i < items.length; i++) {
    if (items[i].mimeType == "application/vnd.google-apps.spreadsheet") {
      return items[i].id;
    }
  }
  // Code to create spreadsheet from public spreadsheet here
}

我已尝试查看API文档并使用google进行搜索,但我还没有找到有关如何执行此操作的内容。我真的希望有可能。

1 个答案:

答案 0 :(得分:1)

解决方案实际上比我想象的更容易:

function copyFile(id, name) {
  var body = {'title': name};
  var request = gapi.client.drive.files.copy({
    'fileId': id,
    'resource': body
  });
  request.execute(function(resp) {
    console.log('Copy ID: ' + resp.id);
    return resp.id;
  });
}