Facebook:由于第1106行/app/www/sdk/src/base_facebook.php中引发的资源限制,无法完成此API

时间:2012-06-14 08:49:35

标签: php facebook heroku facebook-fql facebook-php-sdk

我目前正在使用Facebook的PHP API来收集共同朋友的数据。我目前使用array_chunk方法按照Facebook mutual friends and FQL 4999/5000 record limit中的建议进行查询。我可以问一下上述错误抛出的可能原因是什么?可能的资源限制是什么?

首先,我尝试将php脚本的内存限制增加到128MB,但是我使用了memory_get_usage(true),当我抓到时,它给了我一个远远少于这个数字(转换后,它小于3MB)上述Facebook错误。

由于Facebook或我的脚本,这是资源限制吗?

这是我的书面代码:

$chunked_friends = array_chunk($all_friends_id, 100); // we use 100 for now, if there is loss of information, then we consider another way

foreach ($chunked_friends as $array) {
  $mutualfriends = $facebook->api(array(
    'method' => 'fql.query',
    'query' => 'SELECT uid1, uid2 FROM friend 
                WHERE uid2 IN 
                (SELECT uid2 FROM friend WHERE uid1=me())   
                AND uid1 < uid2 
                AND uid1 IN ( '. implode(', ', $array) .' )'
    ));

  foreach ($mutualfriends as $mutualfriend) {
        $returned_array["links"][] = array("source" => $mutualfriend['uid1'], "target" => $mutualfriend['uid2']);
  }
    usleep(200000);
}

编辑:我正在使用heroku来开发我的应用程序。

2 个答案:

答案 0 :(得分:0)

  

由于Facebook

,这是资源限制吗?

检查您的应用洞察(“API”部分)以查看它是否特定于您的应用程序(在给定时间段内请求过多/过多)。

答案 1 :(得分:0)

最后,我使用了batch requests,这似乎解决了这个问题。我不确定是什么构成了太多的API调用,因为FB也没有真正说过。