使用gFlags的Yahoo YQL查询不返回任何内容

时间:2016-01-20 16:09:57

标签: javascript yql yahoo-api

当我尝试使用gFlags查询时使用Yahoo YQL没有返回。 https://developer.yahoo.com/yql/console/?debug=true#h=select+ * + +从+ geo.placefinder其中+文本%3D%2237.416275%2C-122.025092%22 +和+ GFLAGS%3D' R'

响应:

<?xml version="1.0" encoding="UTF-8"?>
<query xmlns:yahoo="http://www.yahooapis.com/v1/base.rng"
    yahoo:count="0" yahoo:created="2016-01-20T16:07:28Z" yahoo:lang="en-US">
    <diagnostics>
        <publiclyCallable>true</publiclyCallable>
        <url execution-start-time="16" execution-stop-time="21"
            execution-time="5" http-status-code="503" http-status-message="Service Unavailable"><![CDATA[http://gws2.maps.yahoo.com/findlocation?pf=1&locale=en_US&offset=15&flags=&q=37.416275%2c-122.025092&gflags=R&start=0&count=100]]></url>
        <user-time>22</user-time>
        <service-time>5</service-time>
        <build-version>0.2.376</build-version>
    </diagnostics> 
    <results/>
</query>

当我删除gFlags时,会有一个成功的结果。例: https://developer.yahoo.com/yql/console/?debug=true#h=select+ * + +从+ geo.placefinder其中+文本%3D%2237.416275%2C-122.025092%22

我需要使用gFlags来访问woeid属性(来自POI,根据文档:https://developer.yahoo.com/boss/geo/docs/free_YQL.html

2 个答案:

答案 0 :(得分:2)

对我来说,一个运行正常的查询现在返回null。从雅虎服务器内部看来,从纬度/经度上撤回woeid的内部调用似乎没有成功。但是,这个调用在我的机器上工作正常:

http://gws2.maps.yahoo.com/findlocation?pf=1&locale=en_US&offset=15&flags=&q=48.136757%2c-1.622015&gflags=R&start=0&count=100

因此,解决方法是首先调用findLocation服务,然后使用woeid调用weather服务。今天尝试过并且工作正常。

答案 1 :(得分:1)

昨天玩了很多次后,我发现geo.placefinder表什么都没有返回,但是geo.places表没有。因此,您可以将查询更改为&#34;从geo.places(1)中选择*,其中...&#34;请注意,结果的格式略有不同。

另外,我注意到在经过纬度和经度时,一定要在它周围加上括号。例如。文本=&#34;(111.11111,222.22222)&#34;

因此,要使用工作场所重新发布原始查询(请注意,不再有GFlags参数和lat / lng周围的括号):

https://developer.yahoo.com/yql/console/?debug=true#h=select+*+from+geo.places(1)+where+text%3D%22(37.416275%2C-122.025092)%22