我有一个Google表格应用程序,该应用程序生成的文件需要上传到HMRC政府网络。他们只接受HMRC最初格式化和生成的文件中的开放文档格式(.ods
)。
当前,我唯一能做的就是将数据作为.ods
文件手动下载到PC中。我希望能够直接将Google File Drive Stream
中的文件上传到HMRC,我认为这是真实的文件,但事实并非如此! HMRC不会看它。
那么,有没有人知道DriveApp
或任何其他Google Apps Script方法是否可以像手动那样下载文件?
答案 0 :(得分:0)
一种可能性是在Google Apps脚本中使用Advanced Drive Service并在脚本中使用Drive API。使用files.get
方法,您可以访问文件中的导出链接,然后选择所需的链接。
您还需要提示对话框以单击链接,因为我认为您无法直接从Google Apps脚本中打开URL。
此代码可能对您有用:
function exportToODS(fileId){
var file = Drive.Files.get(fileId);
var openOfficeURL = file.exportLinks["application/x-vnd.oasis.opendocument.spreadsheet"];
showDialog('Click here to export',openOfficeURL);
}
function showDialog(name,url) {
var html = '<html><body><a href="'+url+'" target="blank" onclick="google.script.host.close()">'+name+'</a></body></html>';
var ui = HtmlService.createHtmlOutput(html)
SpreadsheetApp.getUi().showModelessDialog(ui,"Export to ODS");
}
请记住,在使用它们之前,您需要先enable Advanced Google Services:
要使用高级Google服务,请按照以下说明进行操作:
- 在脚本编辑器中,选择资源>高级Google服务... 。
- 在出现的对话框中,单击要使用的服务旁边的开/关开关。
- 在对话框底部,单击 Google API控制台的链接。
- 在控制台中,单击进入过滤器框,然后键入API名称的一部分(例如“ Calendar”),然后单击一次名称 你看到了。
- 在下一个屏幕上,点击启用API 。
- 关闭API控制台并返回到脚本编辑器。在对话框中点击确定。您启用的高级服务现在可以在 自动完成。
希望对您有帮助!