使用FBGraph NPM包的流星 - 分页和增加限制

时间:2013-11-16 07:00:27

标签: facebook facebook-graph-api meteor npm meteorite

我按照(www).andrehonsberg.com / article / facebook-graph-api-meteor-js上的教程进行了操作 这是使用FBgraph NPM软件包(www).npmjs.org / package / fbgraph与Meteor的指南。

这一切都很好,我调整它以满足我的需要,这基本上是在Facebook对象ID的评论中计算标签的数量,如果同一评论者做了几个评论,它将计入一个存储在对象中的总数。

问题 它会在25个条目后停止计数。这就是说,图谱API默认限制为25是传递的。所以我想弄清楚如何提高它的限制。

什么行不通

?limit=100添加到查询网址。 通过添加line 17 in facebook.js来修改{limit: 100},如下所示:

var data = Meteor.sync(function(done) {
    self.fb[method](query, {limit: 100}, function(err, res) {
        done(null, res);
    });

{limit:100}添加到第5行this.options,如下所示:

this.options = {
    timeout: 3000,
    limit: 100,
    pool: {maxSockets: Infinity},
    headers: {connection: 'keep-alive'}
}

CODE

https://github.com/khalidaljaaidi/CountTags 有问题的文件:(www).github.com / khalidaljaaidi / CountTags / blob / master / server / facebook.js

1 个答案:

答案 0 :(得分:0)

我在NPM FB图中看了一下,看起来这个问题可能来自form_data.js中的var boundary。如果你去package / npm / package / node_modules / fbgraph / node_modules / request / node_modules / form-data / lib,应该有一个名为form_data.js的文件。第162行有以下代码:

FormData.prototype._generateBoundary = function() {
  // This generates a 50 character boundary similar to those used by Firefox.
  // They are optimized for boyer-moore parsing.
  var boundary = '--------------------------';
  for (var i = 0; i < 24; i++) {
    boundary += Math.floor(Math.random() * 10).toString(16);
  }

  this._boundary = boundary;
};

我还没有测试过,但是你可以尝试增加24来看看你是否能够达到后期限制。

希望这有帮助!