Yahoo YQL RSS - Bad Request

落爺英雄遲暮 提交于 2019-11-30 19:26:03

问题


For making cross-domain AJAX requests with jQuery, I am trying to use YQL RSS.

select * from rss where url='https://www.top1000funds.com/feed/most-popular-posts/'

My code:

var feed = "https://www.top1000funds.com/feed/most-popular-posts/";
var yql = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20rss%20where%20url%3D%22"+encodeURIComponent(feed)+"%22&format=json&diagnostics=true&callback=&rnd=_"+event.timeStamp;
console.log(yql);

$.getJSON(yql, function(res) {
    var html = '<div class="feedListWrap">';
    if(res.query && res.query.results && res.query.results.item){
        //code goes here
    } else {
        html += '<div class="feedEmpty">The feed is currently not available due to server issues. Check back soon!</div>';
    }
    html += '</div>';
    rssWrap.append(html);
}, "jsonp");

It worked fine but now I got Bad Request issue on the json response without a text description of the error:

{"query":{"count":0,"created":"2017-08-25T03:09:09Z","lang":"en","diagnostics":{"publiclyCallable":"true","url":{"execution-start-time":"0","execution-stop-time":"2","execution-time":"2","http-status-code":"400","http-status-message":"Bad Request","content":"https://www.top1000funds.com/feed/most-popular-posts/"},"user-time":"2","service-time":"2","build-version":"2.0.164"},"results":null}}

You can test with the url query: link

When trying to check in YQL console, it works fine:

{
 "query": {
  "count": 10,
  "created": "2017-08-25T02:54:38Z",
  "lang": "en-US",
  "diagnostics": {
   "publiclyCallable": "true",
   "url": {
    "execution-start-time": "1",
    "execution-stop-time": "8",
    "execution-time": "7",
    "content": "https://www.top1000funds.com/feed/most-popular-posts/"
   },
   "user-time": "8",
   "service-time": "7",
   "build-version": "2.0.164"
  },
  "results": {
   "item": [
    {
     "title": "OTPP’s private equity revolution",
     "link": "https://www.top1000funds.com/profile/2017/08/03/otpps-private-equity-revolution/",
     "pubDate": "Thu, 03 Aug 2017 06:39:33 +0000",
     "creator": "Sarah Rundell",
     "guid": {
      "isPermaLink": "false",
      "content": "http://www.top1000funds.com/?p=17673"
     },
     "description": "<div class=\"feedThumb\"><img width=\"125\" height=\"125\" src=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-125x125.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" srcset=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-125x125.jpg 125w, https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-150x150.jpg 150w\" sizes=\"(max-width: 125px) 100vw, 125px\" /></div><div class=\"feedExcerpt\">A deep dive into the world-class private capital division of OTPP, led by Jane Rowe, reveals a strategy of buying large direct stakes in companies, and a commitment to innovation.</div>",
     "encoded": "<div class=\"feedThumb\"><img width=\"125\" height=\"125\" src=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-125x125.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" srcset=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-125x125.jpg 125w, https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2017/08/03163918/jane-rowe_700px-150x150.jpg 150w\" sizes=\"(max-width: 125px) 100vw, 125px\" /></div><div class=\"feedExcerpt\">A deep dive into the world-class private capital division of OTPP, led by Jane Rowe, reveals a strategy of buying large direct stakes in companies, and a commitment to innovation.</div>"
    },
    {
     "title": "The value of the Canadian model",
     "link": "https://www.top1000funds.com/analysis/2017/08/08/the-value-of-the-canadian-model/",
     "pubDate": "Tue, 08 Aug 2017 04:53:00 +0000",
     "creator": "AMANDA WHITE",
     "guid": {
      "isPermaLink": "false",
      "content": "http://www.top1000funds.com/?p=17681"
     },
     "description": "<div class=\"feedThumb\"><img width=\"125\" height=\"125\" src=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-125x125.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" srcset=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-125x125.jpg 125w, https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-150x150.jpg 150w\" sizes=\"(max-width: 125px) 100vw, 125px\" /></div><div class=\"feedExcerpt\">A lot has been written about the superiority of the “Canadian model” for managing pensions, but can a value be assigned to this organisational design structure? </div>",
     "encoded": "<div class=\"feedThumb\"><img width=\"125\" height=\"125\" src=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-125x125.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" srcset=\"https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-125x125.jpg 125w, https://dmmn26wgpgtie.cloudfront.net/wp-content/uploads/2016/03/22215806/Keith-Ambachtsheer-Head_Shoulders_Jan-700x500-2016-150x150.jpg 150w\" sizes=\"(max-width: 125px) 100vw, 125px\" /></div><div class=\"feedExcerpt\">A lot has been written about the superiority of the “Canadian model” for managing pensions, but can a value be assigned to this organisational design structure? </div>"
    },
    ...
   ]
  }
 }
}

Any advice please?


回答1:


I think this is a problem from the Yahoo YQL end, and not related from the code used or something else. If you refresh the query, he random loads with error or fine.

I think there is nothing we (users) can do about it. Yahoo need to fix this...




回答2:


I'm having the exact same issue. My code is a little different but the principle is the same - I'm running an RSS feed through YQL to get around the cross domain problem.. It was working fine until yesterday but it now returns the same Bad Request error, however, the query I'm using works every time in the YQL console.

The only possible solution I've been able to find is in the thread: jQuery with YQL RSS Feeds randomly returning null

It suggests that it might be related to a timeout on the API that isn't there on the YQL console.

If anyone can confirm this or offer other possibilities I would also like to hear about them.




回答3:


When trying out on the YQL console, it caches results, I believe. If you go into debug mode it won't use cahed results and so you'll see better any problems.




回答4:


From my side, everything works well since 2 days.



来源:https://stackoverflow.com/questions/45873994/yahoo-yql-rss-bad-request

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!