gpt4 book ai didi

google-apps-script - 从脚本调用的 Google 文档 ImportXML

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:41 25 4
gpt4 key购买 nike

我在谷歌文档表中使用 ImportXML 从 sistrix api 获取数据。它工作正常,但我遇到了一张表中 50 个 ImportXML 命令的限制。因此,我使用了一个脚本,该脚本将 ImportXML 命令写入单元格(临时)公式并取回单元格的结果值并将其复制到目标单元格。因此您可以根据需要执行尽可能多的 ImportXML 查询,因为它们只出现在工作表的一个临时单元格中。这里的问题是,ImportXML 查询有时需要很长时间或返回 N/A。

是否有可能是我的脚本有时不等待 ImportXML 查询返回而导致结果损坏?我目前是这样做的:

function GetFormulaData(formula, sheet, row, col)
{

// write the formula (ImportXML(...)) to the specified cell
sheet.getRange(row, col).setFormula(formula);

// return the value of this cell resulting from the formula
return sheet.getRange(row, col).getValue();
}

所以这显然只有在公式(ImportXML 查询)完成并将返回值写入单元格时才有效,以便我可以在之后阅读。
有人有从脚本调用 ImportXML 的经验或替代方法吗?

最佳答案

我现在用不同的方式解决了这个问题。在谷歌文档脚本中使用 UrlFetchapp() 比 ImportXML 更常见。但是您必须自己从 http 响应中获取 xml 数据。

我现在是这样做的:

var response = UrlFetchApp.fetch(apiString).getContentText();
var xmlContent = Xml.parse(response, true);
var answer = xmlContent.response.answer;

// get what you need from the XML answer
if (answer != null)
{
var element = answer.getElement('foo');
if (element != null)
{
var attrib = element.getAttribute('bar');
if (attrib != null)
value = attrib.getValue(); // the value you want
}
}

关于google-apps-script - 从脚本调用的 Google 文档 ImportXML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com