如何使用Google AppScript实现定时IP轮换功能
Google AppScript 实现IP定时轮换方案
- 实现逻辑:读取B1:B20单元格内预存的IP地址,持久化记录当前轮换位置,每次触发时按顺序将对应IP写入A1单元格,遍历完所有IP后自动从头开始循环,搭配平台自带的时间触发器实现15分钟间隔自动运行。
完整代码
function rotateIP() { // 绑定当前打开的电子表格,若需指定工作表可替换为getSheetByName('工作表名称') const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 读取B1-B20的IP列表,自动过滤空单元格 const ipList = sheet.getRange('B1:B20') .getValues() .flat() .filter(item => item.toString().trim() !== ''); if (!ipList.length) { throw new Error('B1:B20区域未检测到有效IP地址,请检查填写内容'); } // 读取持久化存储的当前轮换索引,首次运行为0即从B1第一个IP开始 const propStore = PropertiesService.getScriptProperties(); let currentIndex = Number(propStore.getProperty('current_ip_index')) || 0; // 将当前轮转到的IP写入A1单元格 sheet.getRange('A1').setValue(ipList[currentIndex]); // 索引自增,超出IP列表总长度时重置为0,实现无限循环 currentIndex = (currentIndex + 1) % ipList.length; // 保存更新后的索引供下次触发使用 propStore.setProperty('current_ip_index', currentIndex); }
配置定时运行步骤
- 打开存储IP的Google电子表格,点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑页面
- 删除默认的示例代码,把上面的代码粘贴到编辑区,点击顶部保存按钮,给项目自定义一个名称即可
- 首次使用先点击编辑器顶部的「运行」按钮,按照弹窗提示完成脚本授权:谷歌会提示该脚本未经过验证,点击「高级」→「转到(你的项目名)」即可完成授权,脚本仅操作你自己的表格数据,无安全风险
- 点击编辑器左侧栏的时钟样式「触发器」按钮,进入触发器配置页,点击右下角「添加触发器」,按以下参数配置:
- 选择运行的函数:
rotateIP - 选择事件源:
时间驱动 - 选择触发器类型:
分钟计时器 - 选择时间间隔:
每15分钟 - 其余参数保持默认,点击保存即可生效
- 选择运行的函数:
补充说明:如果后续调整了B列的IP列表,无需修改代码,脚本会自动适配非空的IP内容按顺序轮换;如果需要重置轮换进度回到第一个IP,可在脚本编辑器的「项目设置」-「脚本属性」中删除
current_ip_index对应的属性条目,下次运行就会从B1的IP重新开始。
内容的提问来源于stack exchange,提问作者Mahmood_M
相关产品推荐
相关产品推荐

