0

Я пытаюсь получить список всех имен & id людей, которые действительно собираются на событие, которое я создаю. Получение списка с использованием php-графика api для facebook было легкой частью и, похоже, работает.Чтение результатов PHP Facebook Graph api SDK

код (PHP) получить данные:

// GET ПОСЕТИВ

$getattending = "/" . $event_id . "/attending?fields=name,id"; 

    $req_events = new FacebookRequest($session, 'GET', $getattending); 
    $req_response = $req_events->execute(); 
    $data_array = $req_response->getGraphObject()->asArray(); 

    $counter = array_map("count", $data_array); 
    $count = $counter['data']; 

    echo "Attending: $count<BR>"; 

    echo "<PRE>"; 
    print_r($data_array); 
    echo "</PRE>"; 

Результат:

Массив (

[data] => Array 
    (
     [0] => stdClass Object 
      (
       [name] => Thierry Martens 
       [id] => 788923242 
      ) 

     [1] => stdClass Object 
      (
       [name] => Lisa Mario Laurier 
       [id] => 708876902536391 
      ) 

     [2] => stdClass Object 
      (
       [name] => Ramy Mahfoudhi 
       [id] => 735036479911364 
      ) 

     [3] => stdClass Object 
      (
       [name] => Jeremy Verriest Duroisin 
       [id] => 783108468420824 
      ) 

     [4] => stdClass Object 
      (
       [name] => Jonas En Svetlana Laurier 
       [id] => 773139856081632 
      ) 

     [5] => stdClass Object 
      (
       [name] => Maxime Demerliere 
       [id] => 849400761761008 
      ) 

     [6] => stdClass Object 
      (
       [name] => Jeremy Beauchamp 
       [id] => 10204174155667109 
      ) 

     [7] => stdClass Object 
      (
       [name] => Sari Jens Delcourte Delusinne 
       [id] => 10204086515874904 
      ) 

     [8] => stdClass Object 
      (
       [name] => Pieter Marysse 
       [id] => 10204911283045115 
      ) 

     [9] => stdClass Object 
      (
       [name] => Patrick Vanden Bosschelle 
       [id] => 10202907209181148 
      ) 

    ) 

НО У меня возникают проблемы с фактическим сбором данных; Мне просто нужно имя и идентификатор в простом массиве или списке, поэтому я могу использовать его в остальной части скрипта. Любые идеи Кто-нибудь?

Мой второй вопрос: php graph api, похоже, имеет «/ eventnr/attendending» вещь для графика 2.1; показывая nr обслуживающего персонала на ваше мероприятие; но когда я на самом деле называю это, я получаю сообщение об ошибке, когда мне нужно использовать график 2.1, в то время как я загрузил последнюю версию php sdk и не могу найти способ изменить эту версию. Этот вопрос не так важен, как выше; но если он работает, мне нужно было бы меньше кода :)

Надеется, что вы, ребята, можете помочь мне :)

ответ

1

!!!! ПОНЯЛ !!!!

ли искать какой-то дальше здесь и решения, кажется, довольно легко:

for ($x = 0; $x <= $count; $x++) 
     { 
     $names[$x] = $data_array['data'][$x]->name; 
     $ids[$x] = $data_array['data'][$x]->id; 
     } 

Дисплеи:

$ имена массива:

Array ([0 ] => Тьерри Мартенс [1] => Лиза Марио Лорье [2] => Рами Махфудхи [3] => Джереми Веррист Дуроисэн [4] => J onas En Svetlana Laurier [5] => Maxime Demerliere [6] => Jeremy Beauchamp [7] => Sari Jens Delcourte Delusinne [8] => Pieter Marysse [9] => Patrick Vanden Bosschelle [10] =>)

$ идентификаторы массив:

Array ([0] => 788923242 [1] => 708876902536391 [2] => 735036479911364 [3] => 783108468420824 [4] => 773139856081632 [5] = > 849400761761008 [6] => 10204174155667109 [7] => 10204086515874904 [8] => 10204911283045115 [9] => 10202907209181148 [10] =>)

0

Это как:

$dataArray = $data_array['data']; 
$firstPerson = new $dataArray[0]; 
echo $firstPerson->name; 
echo $firstPerson->id; 

Может быть, вам это нужно, хотя:

foreach($data_array['data'] as $a){ 
    $o = new $a; $names[] = $o->name; $ids[] = $o->id; 
} 
// $names is Array of names 
// $ids in Array of ids 
+0

Не работает, (я отредактирую свой код frist и добавлю код, который я использую для получения данных; может быть полезно. –

0

Я добавил ваш код, но результат следующий (пустые массивы)

foreach($data_array['data'] as $a) 
      { 
      $o = new $a; $names[] = $o->name; $ids[] = $o->id; 
      } 

    echo "FIRST ELEMENT - \$data_array['data'][0]: <BR>"; 
    print_r($data_array['data'][0]); echo "<BR><BR>"; 
    echo "\$names array: <BR>"; 
    print_r($names); echo "<BR><BR>"; 
    echo "\$ids array: <BR>"; 
    print_r($ids); echo "<BR><BR>"; 

Результат эхо & print_r:

ПЕРВЫЙ ЭЛЕМЕНТ - $ data_array [ 'данные'] [0]:

stdClass Object ([name] => Thierry Martens [id] => 788923242) 

$ имена массива:

Array ([0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] =>) 

$ Идентификаторы массив:

Array ([0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] =>)