我有一个使用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进行搜索,但我还没有找到有关如何执行此操作的内容。我真的希望有可能。
答案 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;
});
}