Google Apps Script执行日志返回正确但表格单元格为空及字段修改问题
Google Apps Script 自定义函数问题修复方案
问题1:表格内调用函数返回空的修复
问题根因:
- 自定义函数必须通过
return语句向单元格返回结果,现有代码仅通过Logger.log将结果打印到脚本后台日志,没有返回值,因此单元格无内容显示。 - 函数定义了
url传入参数,但代码内部硬编码覆盖了url变量,导致表格传入的参数失效,仅能固定查询WBA的对应数据。
修复后的参考代码:
function getYahooFinanceInfo(url) { // 未传入url时默认使用WBA的profile页 var targetUrl = url || 'https://finance.yahoo.com/quote/WBA/profile'; var source = UrlFetchApp.fetch(targetUrl).getContentText(); var jsonString = source.match(/root.App.main = ([\s\S\w]+?);\n/); if (!jsonString || jsonString.length == 1) return '数据获取失败'; var data = JSON.parse(jsonString[1].trim()); // 需返回员工数时启用下面这句 // return data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.fullTimeEmployees; // 需返回公司全称时启用下面这句 return data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.longName; }
问题2:获取完整公司名称的字段替换
你需要将末尾的.fullTimeEmployees字段替换为.longName,完整取值路径为:data.context.dispatcher.stores.QuoteSummaryStore.assetProfile.longName
即可返回雅虎财经页面标注的完整公司名称。
内容的提问来源于stack exchange,提问作者DarkWingDuck
相关产品推荐
相关产品推荐

