1

им пытаются вычислить среднее количество друзей друзейFacebook Graph API получить среднее количество пользователей «друзья друзей» с помощью FQL

, например, если пользователь имеет 4 друзей:

  1. друга А с 5 друзей
  2. друг B 10 друзей
  3. друг C 15 друзей
  4. друг D с неизвестным количеством друзей (позволяет сказать, что эта информацию разве видимой пользователю)

результат был бы

  • Среднее количество друзей друзей = 10
  • вычисляемых друзей = 3
  • Всего друзей = 4;

с использованием PHP и FQL и Graph API для этого

проблема в том, что я думаю, что запрос FQL партии я послал это 2 большие и я не получаю ответ

если кто-то один знает лучше/работать способ сделать это, пожалуйста, помогите

Мой фрагмент кода:

 //get average of friends friends 
     $friends=$facebook->api('/me?fields=friends'); 
     $friends=$friends['friends']; 
     if (isset($friends)){ 
      //now we have array of friends 
      $friends = $friends['data']; 
      //prepare the query 
      $queries = array(); 
      foreach ($friends as $friend){ 
       $friendId = $friend['id']; 
       $query1="SELECT friend_count FROM user WHERE uid = $friendId"; 
       $newArray = array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query1)); 
       $queries[]=$newArray; 
      } 
      //send batch request 
      $batchResponse = $facebook->api('/?batch='.json_encode($queries), 'POST'); 

      //go over all responses get the amount of friends 

      var_dump ($batchResponse); //this is null ... think the request fails beacuse of its size 

ответ

3

Там нет необходимости делать запрос пакетного для каждого из друзей пользователя вместо этого вы можете использовать следующий вложенный запрос, чтобы сделать то же самое,

SELECT friend_count FROM user WHERE uid in (SELECT uid2 from friend where uid1=me()) 
Смежные вопросы