Google Scripts使用ImportJSON报错transformFunc is not a function如何解决
错误根因
你调用ImportJSONAdvanced时传入的参数数量不符合函数定义要求,这是触发TypeError: transformFunc is not a function错误的直接原因。
1.5版本的ImportJSONAdvanced要求按顺序传入6个入参:
- 第1位:API请求URL
- 第2位:fetch请求配置对象(即你定义的
API_Call) - 第3位:JSON解析路径参数
- 第4位:结构转换函数(也就是报错中提到的
transformFunc) - 第5位:结果后处理函数
- 第6位:调试开关参数
你当前仅传入了前2位参数,后续参数未传时函数内部会取到undefined,运行到对应逻辑调用transformFunc时就会抛出类型错误。
修复方案
如果你不需要使用自定义转换、后处理逻辑,给对应参数位传入默认占位值即可,修改调用代码如下:
const URL_query = 'URL1='+ myquery const API_Call = { headers: { 'method_for_key': 'my_apy_key' }, json: true, gzip: true, } // 无自定义需求时,第三到第六位参数传入默认值即可 var parsedJSON = ImportJSONAdvanced(URL_query, API_Call, "", () => {}, () => {}, false)
如果需要对返回的JSON做字段过滤、结构调整等操作,把第4位的空函数替换为你自己写的转换逻辑即可。
内容的提问来源于stack exchange,提问作者n4rs
相关产品推荐
相关产品推荐

