【发布时间】:2021-06-23 16:36:47
【问题描述】:
更新:
将data.context.dispatcher.stores.StreamDataStore.quoteData.item(code).regularMarketPrice.raw 更改为data.context.dispatcher.stores.StreamDataStore.quoteData[code].regularMarketPrice.raw 后,我仍然收到错误消息[21-06-23 14:47:53:398 PDT] TypeError: Cannot read property 'regularMarketPrice' of undefined at marketPrice(Code:6:91),当我尝试运行 Logger.log 时,它永远不会做任何事情。此外,当我转到电子表格并使用公式 marketPrice("CL=F") 时,它会显示当前价格,但如果您等待一个小时并在下面的单元格中输入相同的公式,您会得到两个不同的价格。第一个公式没有更新的原因是什么。
旧: 这在前几天运行良好,现在我收到 TypeError: Cannot read property 'regularMarketPrice' of undefined(第 6 行,文件“代码”)。在谷歌表格中,我使用公式 =marketPrice("CL=F")。
function marketPrice(code) {
var url='https://finance.yahoo.com/quote/'+code
var source = UrlFetchApp.fetch(url).getContentText()
var jsonString = source.match(/(?<=root.App.main = ).*(?=}}}})/g) + '}}}}'
var data = JSON.parse(jsonString)
var regularMarketPrice = data.context.dispatcher.stores.StreamDataStore.quoteData.item(code).regularMarketPrice.raw
return regularMarketPrice
}
Object.prototype.item=function(i){return this[i]};
【问题讨论】:
标签: google-apps-script google-sheets