如何将批处理请求发送到Klout API

时间:2015-12-29 03:01:37

标签: javascript api batch-file klout

寻找一种方法将KloutId数组发送到他们的API并获取他们的Klout主题。我在Klout文档中找到的只是一种发送单个用户的方法。例如:

http://api.klout.com/v2/user.json/635263/topics?key=API_KEY_HERE

基本上与他们的速率限制相比,想要以10个为一组进行批处理,以便能够总共获得100个用户。我正在使用Node.js

当前代码:

    async.series([
    function(callback){
      // call to twitter api to get friends
      T.get('friends/ids', { screen_name: screenname },  function (err, data, response) {
        if(err) console.error(err)
        friends = data;
        callback(null);
      })
    },
    function(callback){
      friends.forEach(function(friend){
        var friend = JSON.stringify(friend)
        request(`http://api.klout.com/v2/identity.json/tw/${friend}?key=${process.env.KLOUT}`, function(err, res, body){
          kloutId = JSON.parse(body).id;

          // get topics
          request(`http://api.klout.com/v2/user.json/${kloutId}/topics?key=${process.env.KLOUT}`, function(err, res, body){
            var topics = JSON.parse(body)
            for(var topic in topics){
              console.log("Topic: ", topics[topic].displayName)
            }
          })
        })
      })
      callback(null);
    }
],
function(err, results){
    // Pick off top 10 topics of all users here
});

1 个答案:

答案 0 :(得分:1)

似乎不再支持批量请求:

"为确保最高的数据可用性和最低的延迟,您将无法再进行批量用户呼叫。将增加费率限制以补偿。"

http://developer.klout.com/blog/read/api_v2_launch