You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过触发器用App Script自动上传Google Sheet至FTP服务器

可以通过App Script+触发器自动将Google Sheet上传至FileZilla FTP服务器

完全可以实现这个需求,以下是具体的操作步骤和代码示例:

1. 确认FTP服务器配置

确保你的FileZilla FTP服务器已经完成以下配置:

  • 开启FTP服务(默认端口21),若使用SFTP则开启22端口
  • 创建具备读写权限的FTP账号
  • 服务器允许外部公网访问(本地服务器需完成端口映射)

2. 打开Google Sheet的App Script编辑器

打开目标Google Sheet,点击顶部菜单「扩展程序」→「Apps Script」,进入脚本编辑界面。

3. 添加FTP操作库并编写上传代码

Google Apps Script没有原生FTP支持,我们可以使用第三方的FTPApp库简化操作:

  1. 在脚本编辑器中,点击「扩展」→「库」
  2. 输入库ID 1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw,点击「添加」,选择最新版本,设置标识符为FTPApp

粘贴以下代码,替换为你的FTP信息和导出设置:

function uploadSheetToFTP() {
  // 导出Google Sheet为Excel文件(可改为CSV格式)
  const sheet = SpreadsheetApp.getActiveSpreadsheet();
  const exportUrl = `https://docs.google.com/spreadsheets/d/${sheet.getId()}/export?format=xlsx`;
  const fileBlob = UrlFetchApp.fetch(exportUrl, {
    headers: { 'Authorization': `Bearer ${ScriptApp.getOAuthToken()}` }
  }).getBlob().setName('Sheet_Backup.xlsx');

  // FTP服务器配置
  const ftpHost = '你的FTP服务器地址';
  const ftpPort = 21; // SFTP请改为22
  const ftpUser = 'FTP用户名';
  const ftpPass = 'FTP密码';
  const ftpTargetPath = '/'; // 上传到FTP根目录,子目录可写'/backup/'

  try {
    // 建立FTP连接并上传文件
    const ftp = FTPApp.init(ftpHost, ftpPort, ftpUser, ftpPass);
    ftp.put(fileBlob, ftpTargetPath + fileBlob.getName());
    ftp.close();
    console.log('文件上传成功');
  } catch (err) {
    console.error('上传失败:', err.message);
  }
}

如果需要导出CSV格式,将exportUrl修改为:

const exportUrl = `https://docs.google.com/spreadsheets/d/${sheet.getId()}/export?format=csv&gid=0`;

其中gid=0对应第一个工作表,可按需修改为目标工作表的ID。

4. 设置自动触发任务

  1. 在脚本编辑器左侧点击「触发器」图标(时钟样式)
  2. 点击「添加触发器」,配置参数:
    • 选择函数:uploadSheetToFTP
    • 事件源:「时间驱动」
    • 时间类型:根据需求选择(比如「日计时器」→「每天02:00」)
  3. 保存时按照提示完成授权,遇到“未验证应用”提示时,点击「高级」→「转到脚本(不安全)」即可完成授权

注意事项

  • 若FTP服务器在本地,需确保路由器已完成端口映射,且公网IP可正常访问
  • 明文FTP传输存在安全风险,建议优先使用SFTP加密传输
  • 授权时需确保脚本拥有访问Google Sheet和外部网络的权限

内容的提问来源于stack exchange,提问作者Alejandro Moyano Gonzalez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 05:27:41