服务错误:Google脚本上的电子表格

范围

我开始编写一个脚本,将对API进行链接调用(带有JSON响应),并将结果写入电子表格。

怎么了:

一旦我调试脚本代码,它运行得很好,没有大问题,但是一旦我从Spreadsheet按钮本身(从我创建的菜单)运行它,它将运行该脚本的一些步骤,然后弹出: Service Error: Spreadsheet没有其他错误细节的Service Error: Spreadsheet

怪事

我开始将过程的当前步骤“记录”到电子表格单元格,以便在从调试器运行脚本时监控其进度。

问题是,一旦我移动一些“随机”片段,例如:

sheet.getRange("F2").setValue(currentPage);

代码倾向于在不同的点上打破。

代码示例:

你可以在这里找到一个代码来重现这个问题:http://pastebin.com/HjmSwEYZ

你所要做的就是:

1 - 在Google云端硬盘上新建一个电子表格

2 - 点击工具 - >脚本编辑器

3 - 创建一个新脚本,粘贴代码并保存

4 - 重新加载电子表格(F5),使自定义菜单现在出现“激战2追踪器”

5 - 点击按钮并点击“全部列出”

期望的输出:

这段代码该做什么(如果不是这个错误的话)是:

1 - 在这个URL上执行一个请求:http://www.gw2spidy.com/api/v0.9/json/items/all/1(它将返回激战2的第一页itens)

2 - 遍历每个页面,解析json并将返回的值写入电子表格

免责声明:

对不起,关于表格中的所有“日志”消息。 这是追踪我的进步的绝望尝试,我知道我不应该这样做。

提前致谢

更新1:

在创建另一个电子表格并在其自己的脚本项目中粘贴pastebin代码后,我可以在交互中运行它,但就是这样。 这一次,它提出了一个不同的错误: We're sorry, a server error occurred. Please wait a bit and try again. We're sorry, a server error occurred. Please wait a bit and try again.


我喜欢ellockie所说的 - 我(不知不觉)遇到了同样的问题。 我试图range.sort(8),但为了收集范围,我用了:

sheet.getRange(2,1,sheet.getMaxRows(), sheet.getMaxColumns());

但我应该使用的是:

sheet.getRange(2, 1, sheet.getMaxRows()-1, sheet.getMaxColumns());

截至2015年5月1日的错误信息仍然非常神秘,并且没有提供比“服务错误:电子表格”更多的细节。


Marchello,今天我遇到了同样的问题,刚刚找到了答案,可以在这里找到它:https://code.google.com/p/google-apps-script-issues/issues/detail?id=3815 (见#4)。 这个想法是将行添加到工作表的底部,让脚本再次开始工作。 它在我的情况下工作。


在我的例子中,我使用了'动态'范围的公式,即=sum(b2:b) ,我记得这是在新的谷歌电子表格中提到的一个问题。

校正为sum(b2:b22) (确保范围不超过表格的最后一行)解决了问题。

链接地址: http://www.djcxy.com/p/20029.html

上一篇: Service Error: Spreadsheets on Google Scripts

下一篇: IPython sys.path different from python sys.path