3

我正在开发一个使用雅虎网络服务来获取实时温度的门户网站。我使用组合 YQL 查询按纬度和经度获取天气数据,这还不错:

https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.placefinder where text='lat,lon')&format=json

自今年 1 月以来,组合查询不再起作用。因此,我不得不依次发出两个单独的 http 请求来获取数据。

  1. 从 lan、lon 和 appid 获取 woeid
  2. 从woeid获取数据

每次从雅虎获取数据非常耗时且效率较低。我已经在谷歌上搜索了一段时间以寻求改进此问题的解决方案,但其中大多数是针对旧的雅虎天气 API 版本。我正在寻找一种缩短时间的方法或其他一些主流的免费天气服务提供商,提供世界天气。

更新(2016.03.24)

我找到了一种使组合 YQL 从此线程工作的方法。

将 YQL 更改为:

https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid in (select woeid from geo.placefinder where text='(lat,lon)')&format=json

只需要在地理位置周围添加括号。前一个用于最近工作的实用程序。

更新(2016.03.25)

昨天雅虎天气服务宕机,YQL失效了好久。从它的官方文件中,它说它自 3 月 15 日以来已通过 URL https://query.yahooapis.com/v1/yql?q=强制执行 Oauth 1 ...
即使公共链接今天又回来了,我发现我无法通过添加 u='c' 或 u='f' 来切换天气单位。

我不知道雅虎天气 API 是否会继续维护旧网址。就目前而言,它还活着。我期待通过 Oauth 1.0 在 Javascript 中查询雅虎天气的解决方案。

4

0 回答 0