在Meteor中从服务器端调用stackexchange api

时间:2014-07-06 20:16:54

标签: meteor meteorite stackexchange-api

我尝试使用下面的代码从客户端调用stackexchange api,它工作正常

HTTP.call("GET",questionsURL,{params:{site:"stackoverflow",key:key,function(e,res)
       {
          if(e)
          {
             console.log("error"+e);
          }
          else
          {
           //logic
          }
        });

当我尝试从服务器端调用相同的函数时,返回的是我尝试记录它并显示以下结果

error

服务器端代码是

var futt=new Future();
          HTTP.call("GET", userDetailsURL,{params:{site:"stackoverflow",key:key}},function(error,result)
          {
                futt.return(result);
                console.log(result));
           }); 
           return futt.wait();

这里有什么问题?任何人帮我吧

1 个答案:

答案 0 :(得分:1)

看起来问题是api的流是gzip编码的。 (此处还记录了http://api.stackexchange.com/docs/compression

除非您自己解压缩数据,否则无法通过此方法。

可能值得研究一个npm模块,它可以为您完成所有这些,例如:https://www.npmjs.org/search?q=stackexchange

看起来它们不允许未压缩的请求和& Meteor gzip解码结果