能否在AppScript中调用GPT for Sheets扩展内置的GPT()函数?
能否在AppScript宏中调用Talarian GPT for Sheets的内置GPT()函数?
直接通过
extensions.Talarian.GPT.GPT()这类语法调用扩展内置函数不可行。Google Apps Script的沙箱机制会限制对第三方扩展内部函数的直接访问,扩展的自定义函数仅能在单元格公式中使用,无法在独立的AppScript宏中直接调用。替代方案:
- 使用AppScript直接调用OpenAI API:跳过扩展封装,自己编写AppScript代码调用OpenAI官方API。这种方式完全不受自定义函数的30秒超时限制(AppScript执行超时上限为6分钟),还能更灵活地处理大量数据和多段落返回结果。示例代码框架:
function customGPTCall() { const apiKey = "你的OpenAI API密钥"; const prompt = "你的请求内容,可从表格中批量读取数据拼接"; const url = "https://api.openai.com/v1/chat/completions"; const options = { method: "post", headers: { "Content-Type": "application/json", "Authorization": "Bearer " + apiKey }, payload: JSON.stringify({ model: "gpt-3.5-turbo", messages: [{role: "user", content: prompt}] }) }; const response = UrlFetchApp.fetch(url, options); const result = JSON.parse(response.getContentText()); // 将结果写入指定单元格 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1").getRange("A1").setValue(result.choices[0].message.content); } - 使用扩展的批量处理功能(如果有):检查Talarian GPT for Sheets是否提供内置的批量操作宏或菜单功能,部分扩展会针对大量数据场景提供专门的超时友好型操作。
- 使用AppScript直接调用OpenAI API:跳过扩展封装,自己编写AppScript代码调用OpenAI官方API。这种方式完全不受自定义函数的30秒超时限制(AppScript执行超时上限为6分钟),还能更灵活地处理大量数据和多段落返回结果。示例代码框架:
注意事项:自行调用API时需妥善管理API密钥,避免硬编码在脚本中,可通过Google Apps Script的脚本属性存储密钥以提升安全性。
内容的提问来源于stack exchange,提问作者NYDS2020
相关产品推荐
相关产品推荐

