我花了大约 5 个小时试图解决这个问题,但我陷入了最后一点。
到目前为止,我已经能够调用https://sunrise-sunset.org/api https://sunrise-sunset.org/api返回我需要的所有数据。我遇到的问题是能够解析结果,以便将日出或日落值附加到一个变量中,我可以将其作为结果导出到谷歌工作表中。
理想情况下,在谷歌表格中,我能够像其他这样的函数一样使用自定义函数
A1=SunRiseSet(lat,long,date,type)
=“下午 5:11:12”
我想使用 type 来指定函数应返回什么值(日出或日落)。
这是我到目前为止的代码
function SunRiseSet(lat,long,date,type) {
var response = UrlFetchApp.fetch("https://api.sunrise-sunset.org/json?lat="+lat+"&lng="+long+"&date="+date);
var json = response.getContentText();
Logger.log(json);
var data = JSON.stringify(json);
Logger.log(data);
var data = json;
var sunrise = data.sunrise;
var sunset = data.results.sunset
type=1;
if(type==1){
return this.sunrise}
else{
return this.sunset};
}
我确信这真的很容易,但到目前为止我尝试过的一切都失败了。太感谢了!
下面的修改怎么样?
修改要点:
- 的价值
sunrise
is at data.results.sunrise
.
-
data.results.sunrise
and data.results.sunset
可以通过解析来检索JSON.parse()
.
上面反映的修改后的脚本如下。
修改后的脚本:
function SunRiseSet(lat,long,date,type) {
var response = UrlFetchApp.fetch("https://api.sunrise-sunset.org/json?lat="+lat+"&lng="+long+"&date="+date);
var json = response.getContentText();
var data = JSON.parse(json);
var sunrise = data.results.sunrise;
var sunset = data.results.sunset;
if (type == 1) {
return sunrise;
} else {
return sunset;
};
}
Usage :
- 请放
=SunRiseSet(lat,long,date,type)
到电子表格上的单元格。
例如,
- When you want
sunrise
.
- 请放
=SunRiseSet(36.7201600,-4.4203400,"2017-12-31",1)
到电子表格上的单元格。请附上date
通过双引号。
- When you want
sunset
.
- 请放
=SunRiseSet(36.7201600,-4.4203400,"2017-12-31")
到电子表格上的单元格。您可以使用除了1
to type
。您也可以不使用type
就像样品一样。
这些参数来自日落和日出时间 API https://sunrise-sunset.org/api.
参考 :
- JSON.parse() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse
- 日落和日出时间 API https://sunrise-sunset.org/api
如果我误解了你的问题,请告诉我。我想修改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)