2017-08-24 5 views
0

Je ne sais pas si Yahoo a changé quelque chose pendant la nuit, mais ce qui a fonctionné hier ne pas aujourd'hui ...YQL Console: Aucune définition trouvée pour le tableau htmlstring

Donc, si vous essayez this, cela fonctionnera et renvoie le code HTML attendu de la page d'accueil Google.

Si vous essayez this, il fonctionnera également comme prévu.

Maintenant, si je tente d'utiliser JavaScript pour appeler les requêtes REST fournies par YQL Console pour faire mon appel, je reçois le message ci-dessous:

{"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" 
}} 

est le JavaScript J'utilise ici:

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) 
}) 

Note latérale: sur la console YQL cela fonctionne presque tout le temps, mais j'ai reçu quelques échecs. Donc je me demande s'il y a une panne de YQL?

+0

Même ici, ça marche de temps en temps .. Donne moi le statut HTTP 400, Mauvaise demande la plupart du temps. YQL a travaillé merveilleusement bien toute l'année et c'est la première fois que Iäm a des problèmes avec ça. J'espère que cela sera résolu bientôt. – MikkoS

+0

On dirait qu'ils ont terminé le support pour htmlstring –

+0

Avez-vous une réponse à votre question? Je reçois également cette erreur. @AymKdn –

Répondre

-1

Je ne sais pas si elle est liée, mais la console YQL ne parvient pas à retourner des résultats pour les requêtes rss, par exemple cela échoue: select * from rss where url="http://razamazazzle.blogspot.com/feeds/posts/default"

0

Je ne sais pas si elle est liée, mais je pense qu'ils ont été piraté, regardez ceci, un autre en-tête dans leurs serveurs. Idem lien: Yahoo