使用 API 将基于坐标的日出/日落导入 Google Sheet

2023-12-24

我花了大约 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(使用前将#替换为@)

使用 API 将基于坐标的日出/日落导入 Google Sheet 的相关文章

随机推荐

  • 软件评估许可[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的公司正在寻求开始分发我们开发的一些软件 并希望能够让人们在购买之前试用该软件 我们还希望确保它不会被复制并分发给我们客户的客户 我
  • 无法在 Instruments 中启动我的应用程序:至少有一个目标无法启动

    我已正确设置所有代码签名权利 在我的手机上运行该应用程序没问题 但在仪器中启动它会出现错误消息 Error Starting Recording At least one target failed to launch aborting r
  • 如何删除文件的最后 N 行?

    有人可以给出一些关于如何从 Perl 中的文件中删除最后 n 行的提示吗 我有一个大约 400 MB 的非常大的文件 我想从中删除最后 125 000 行 您可以使用领带 文件 http search cpan org dist Tie F
  • 如何在pygame中获取键盘输入?

    我正在 pygame 1 9 2 中制作游戏 这是一款失败的简单游戏 其中一艘船在五列坏人之间移动 这些坏人通过缓慢向下移动进行攻击 我试图让船用左右箭头键左右移动 这是我的代码 keys pygame key get pressed if
  • 将 Flask 中的默认 url 更改为 static-media

    我使用了一个网站Flask http flask pocoo org 我可以毫无问题地让内置开发服务器上的东西正常工作 我还能够在我的生产服务器上的 mod wgsi 下运行 但是 我从一个托管我的静态媒体静态 CGI PHP 5 2 ht
  • 如何通过 PHP 将网站中的整个数字替换为波斯数字?

    如何通过 PHP 将正文或网站 html 中的整个数字替换为波斯数字 我想替换我网站中所有页面的所有数字 Code function ta persian num string arrays of persian and latin num
  • 完成多项任务的批处理文件或 vbscript

    我希望对一些进口进行一些自动化 我正在寻找一种方法来调用多个脚本以从一个批处理文件或 vbscript 运行 我想做的是以下内容 1 重命名批量完成的文件 2 将重命名的文件移动到另一个文件夹 3 替换文件中指定的文本 4 使用日期扩展名重
  • Angular CLI:从现有项目生成 SASS 项目

    我开始研究 Angular CLI 生成的项目 并意识到我忘记了 style sass旗帜 有什么办法可以convert我的项目如何使用 Angular CLI 启用 SASS 在 Angular 6 中 如果您在执行此操作后收到控制台警告
  • 将数据从 Angular 模态控制器传递回主控制器

    事情是这样的 我无法将数据从角度模态传递回我需要的控制器 下面给出的代码 控制器侧 use strict var DataMod angular module Data angularGrid ui bootstrap contextMen
  • Java 中的 Arima/Arma 时间序列模型 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 java 中的 Arima 时间序列模型 有没有实现 Arima Arma 模型的 Java 库 谷歌搜索应该有帮助 我从谷歌
  • React功能组件中使用和不使用useEffect的区别

    我有一个 React 功能组件 我想在每个 render 中运行一些代码 你知道useEffect没有依赖数组的钩子每次在渲染时都会运行 这是代码 function Component a b useEffect gt console lo
  • 在 ActionBar 上显示 SearchView 的软键盘

    我们在 ActionBar 上有一个 SearchView 它被设置为非图标化 由于在用户输入要搜索的内容之前视图中没有任何内容 因此为 SearchView 提供初始焦点是有意义的 并确保软键盘已准备好供用户输入文本 否则他们 总是必须先
  • 在 monad 内部工作时如何编写尾递归函数

    一般来说 在 内部 单子工作时 我在弄清楚如何编写尾递归函数时遇到问题 这是一个简单的例子 这是我编写的一个小示例应用程序 旨在更好地理解 Scala 中的 FP 首先 系统会提示用户输入Team由 7 组成Players 该函数递归读取输
  • 我想要 410 整个目录 - 我删除了我的博客

    我的网站上有一个名为 blog 的文件夹 我把它全部永久删除了 我要410吧 我如何 410 整个文件夹 例如我的网站看起来像这样 example com blog mycoolpost1 example com blog mycoolpo
  • 为什么 Python 项目中没有用于自动化的 Makefile?

    作为一名资深的 Python 程序员 我想知道 Python 文化的一个核心方面是否让我困惑了很长时间 除了 Makefile 我们还能做什么 我见过的大多数 ruby 项目 不仅仅是 Rails 都使用Rake 不久之后node js开始
  • Tampermonkey:触发事件对元素不起作用

    我试图在提供者角度应用程序之上使用 Tampermonkey 添加一些功能 但我坚持这个简单的事情 我无法使用 CodePen 重现该问题 因此我们必须寻求理论和建议 我会尽力做到具体 在页面加载时添加此间隔 以检查 id 为serialN
  • 如果 PHP 文件回显“true”,则 jQuery 刷新

    我希望我的页面每隔几秒检查一次 PHP 文件是否返回 true 并在 PHP 文件返回 true 时刷新某个 div 目前我有这个 它不起作用 并且适用于完整页面而不是 div 我希望仅刷新 div 而不是完整页面
  • 使用远程 XML 作为文件 [重复]

    这个问题在这里已经有答案了 可能的重复 如何从 java 中的 URL 读取 XML 响应 https stackoverflow com questions 2310139 how to read xml response from a
  • x86-64 SysV ABI 中参数和返回值寄存器的高位是否允许存在垃圾?

    x86 64 SysV ABI 指定了函数参数如何在寄存器中传递 第一个参数rdi then rsi等等 以及整数返回值如何传回 在rax进而rdx对于非常大的值 然而 我找不到的是 当传递小于 64 位的类型时 参数或返回值寄存器的高位应
  • 使用 API 将基于坐标的日出/日落导入 Google Sheet

    我花了大约 5 个小时试图解决这个问题 但我陷入了最后一点 到目前为止 我已经能够调用https sunrise sunset org api https sunrise sunset org api返回我需要的所有数据 我遇到的问题是能够