Чтение результатов из PHP Facebook Graph API SDK

Я пытаюсь получить список всех имен & ID людей, которые на самом деле собираются на мероприятие, которое я создаю. Получение списка с использованием php graph api для facebook было простой частью и, похоже, работает.

Код (php) получаемых данных:

// ПОЛУЧИМ ПОСЕТИТЬ

    $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>";

Результат:

Array (

[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 / автосекретарь» для графа 2.1; показ nr сопровождающих на ваше мероприятие; но когда я на самом деле вызываю его, я получаю сообщение об ошибке, в котором говорится, что мне нужно использовать график 2.1, пока я загружаю последнюю версию php sdk и, похоже, не могу найти способ изменить эту версию. Этот вопрос не так важен, как приведенный выше; но если это сработает, мне понадобится меньше кода 🙂

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

0

Решение

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

Посмотрите дальше, и решения кажутся довольно простыми:

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

Вывод:

массив $ names:

Массив ([0] => Тьерри Мартенс [1] => Лиза Марио Лорье [2] => Рами
Махфудхи [3] => Джереми Верриест Дюруазен [4] => Джонас Эн Светлана
Лорье [5] => Максим Демерлиер [6] => Джереми Бошан [7] => Сари
Дженс Делькурт Делусинн [8] => Питер Марисс [9] => Патрик Ванден
Bosschelle [10] =>)

массив $ ids:

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

1

Другие решения

Это как:

$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

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

добавлен код:

    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 [‘data’] [0]:

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

массив $ names:

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

массив $ ids:

    Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => [7] => [8] => [9] => )
0
По вопросам рекламы [email protected]