YQL控制台:找不到表htmlstring的定义

时间:2017-08-24 10:38:48

标签: javascript yql yahoo-api

我不知道雅虎是否在晚上改变了一些东西,但昨天的作品今天没有改变......

因此,如果您尝试使用this,它就可以运行并从Google主页返回预期的HTML。

如果您尝试this,它也会按预期工作。

现在,如果我尝试使用JavaScript来调用YQL控制台提供的REST查询来进行呼叫,我会收到以下消息:

{"error": {
  "description": "No definition found for Table htmlstring",
  "diagnostics": {"url": {
    "content": "http://www.datatables.org/data/htmlstring.xml",
    "execution-stop-time": "1",
    "http-status-message": "Bad Request",
    "execution-time": "1",
    "http-status-code": "400",
    "execution-start-time": "0"
  }},
  "lang": "en-US"
}}

这是我使用的JavaScript:

var createCORSRequest=function(method, url) {
  var xhr = new XMLHttpRequest();
  if ("withCredentials" in xhr) {
    // XHR for Chrome/Firefox/Opera/Safari.
    xhr.open(method, url, true);
  } else if (typeof XDomainRequest != "undefined") {
    // XDomainRequest for IE.
    xhr = new XDomainRequest();
    xhr.open(method, url);
  } else {
    // CORS not supported.
    xhr = null;
  }
  return xhr;
}

// Make an actual CORS request.
var makeCorsRequest=function(url) {
  var deferred=jQuery.Deferred();
  var xhr = createCORSRequest('GET', url);
  if (!xhr) {
    deferred.fail('CORS not supported');
    return;
  }
  // Response handlers.
  xhr.onload = function() {
    deferred.resolve(JSON.parse(xhr.responseText));
  };
  xhr.onerror = function() {
    deferred.fail('Woops, there was an error making the request.');
  };
  xhr.send();
  return deferred;
}

var resturl = "https://query.yahooapis.com/v1/public/yql?q=env%20%22store%3A%2F%2Fdatatables.org%2Falltableswithkeys%22%3B%20select%20*%20from%20htmlstring%20where%20url%3D%22https%3A%2F%2Fwww.google.com%22&format=json&diagnostics=true&callback=";
makeCorsRequest(resturl).then(function(data) {
  console.log(data)
})

旁注:在YQL控制台上,它几乎一直在工作,但我收到了一些失败。所以我想知道是否有YQL中断?

2 个答案:

答案 0 :(得分:0)

我不知道它是否相关,但我认为它们已经被黑了,看看这个,它们服务器中的另一个标题。奇怪的链接:Yahoo

答案 1 :(得分:-1)

我不知道它是否相关,但是YQL控制台无法返回RSS查询的结果 例如,这失败了:

select * from rss where url="http://razamazazzle.blogspot.com/feeds/posts/default"