问题描述
我正在尝试制作一个我想在 Google 表格中使用的 google 脚本。
我在 youtube 上观看了一个教程视频,我觉得我的脚本运行良好。
但后来发生了两件奇怪的事情,我不知道为什么。
下面是我的代码,这段代码正是我想要的。
它在谷歌表格和日志中显示 IBM 的 EPS。
但是,当我将 APIkey 从“演示”更改为我自己的 APIkey 时,它不再起作用。
那时它仍然在 LOG 中显示 EPS,但我会在 Google Sheets 中得到一个空单元格。
我不知道为什么会这样。
/**
* Imports api data from alphavantage
* @customfunction
*/
function apiav(a) {
var res = UrlFetchApp.fetch(
'https://www.alphavantage.co/query?function=OVERVIEW&symbol=IBM&apikey=demo'
);
var content = res.getContentText();
var json = JSON.parse(content);
var overviewvalue = json['EPS'];
Logger.log(overviewvalue);
return overviewvalue;
}
解决方法
尝试将 {validateHttpsCertificates: false}
添加到您的 UrlFetchApp.fetch() 以忽略 HTTPS 请求的任何无效证书。
您的代码应如下所示:
function apiav(a) {
var res = UrlFetchApp.fetch('https://www.alphavantage.co/query?function=OVERVIEW&symbol=IBM&apikey=ABCDEFGH',{validateHttpsCertificates: false});
var content = res.getContentText();
var json = JSON.parse(content);
var overviewvalue = json['EPS'];
Logger.log(overviewvalue);
return overviewvalue;
}
输出: