0

寻找一种将 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
});
4

1 回答 1

1

似乎不再支持批量请求:

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

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

于 2015-12-29T04:13:54.383 回答