【问题标题】:google weather api links need human authentication谷歌天气 api 链接需要人工认证
【发布时间】:2012-07-18 10:50:42
【问题描述】:

我使用google weather API 开发了一个天气应用程序 但是从今天开始它停止工作了。

当我尝试通过浏览器使用位置访问天气 API 时,它要求进行人工身份验证。

我的应用程序在这种情况下如何工作?有没有办法绕过身份验证过程?

【问题讨论】:

标签: api weather


【解决方案1】:

这是非常奇怪的行为...我想知道它是否与当我尝试在 Chrome 中加载 API url 时传递的标头有关,不支持的 API...或者如果我在 Firefox 中执行相同的 URL,则有效很好。

还值得注意的是,我尝试通过将以下两行放在单独的 Web 服务器的 apache 配置中并通过 www.domain.com/weather/api?weather=Chicago 引用 API 来设置 Google 天气服务的 Apache 代理它仍然有效......所以这是我现在的解决方法:

ProxyPassReverse /weather/ http://www.google.com/ig/

ProxyPass /weather/ http://www.google.com/ig/

【讨论】:

    【解决方案2】:

    尝试更改域,例如:http://www.google.ca/ig/api?weather=Sondrio。它可以工作(现在:D)。

    【讨论】:

      【解决方案3】:

      好像以后不用了

      即使使用 .CA,它也会随机返回 Unsupported API。

      遗憾

      【讨论】:

      • 知道为什么它会随机说不支持的 API 吗?
      【解决方案4】:

      是的,有趣的是,如果请求缺少浏览器(使用 Chrome 和 Firefox 测试)在对非官方天气 URL 的请求中包含的 cookie,Google 似乎会发回随机的“不支持的 API”响应。

      我已通过复制整个“Cookie:”标头来修复我的应用程序,当我在 Firefox 中运行请求并启用 Firebug 的“Net”选项卡时发现。

      不确定浏览器是从 .google.com 上的哪个位置获取 cookie,我推测是使用了 gmail 之类的个性化服务。

      【讨论】:

        【解决方案5】:

        如果您正在寻找现在可以使用的天气 API,我有一个建议……

        试试 Metwit Weather API,它很新,但听起来很酷……
        这个 api 使用起来非常简单,因为它使用了当今可用的标准,例如 JSON 和 REST。

        【讨论】:

          【解决方案6】:

          您可以使用这个新的 api,它具有与谷歌天气 api 相同的 xml 结构

          http://en.previmeteo.com/professionals/google-weather-api.php

          【讨论】:

            猜你喜欢
            • 2011-07-30
            • 2012-05-17
            • 2011-07-29
            • 1970-01-01
            • 2011-06-25
            • 2021-02-04
            • 2013-01-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多