从Oauth 1.0获取Yahoo Weather API的天气数据

时间:2016-03-14 07:06:02

标签: javascript api yql yahoo-weather-api

我正在开发一个使用Yahoo Web服务实现实时温度的Web门户。我使用组合的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获取数据
  3. 每次从Yahoo获取数据非常耗时且效率低下。我已经谷歌搜索了一段时间来提高解决方案,但其中大部分是针对旧的雅虎天气API版本。 我正在寻找缩短时间的方法或其他一些主流的免费天气服务提供商,提供世界天气。

    更新(2016.03.24)

    我找到了一种方法,可以从这个thread开始组合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
    

    只需在地理位置周围添加括号即可。前一个用于最近工作的util。

    更新(2016.03.25)

    雅虎天气服务昨天下降,YQL在相当长一段时间内无效。 从它的官方文件中可以看出它已经从3月15日起通过网址https://query.yahooapis.com/v1/yql?q=强制执行了Oauth 1 ... 即使公共链接今天回来了,我发现我无法通过添加u ='c'或u ='f'来切换天气单位。

    我不知道Yahoo weather API是否会继续维护旧的url。目前,它还活着。 我期待通过Javascript中的Oauth 1.0查询Yahoo天气的解决方案。

0 个答案:

没有答案