【问题标题】:Reading results from PHP Facebook Graph api SDK从 PHP Facebook Graph api SDK 读取结果
【发布时间】:2014-10-12 00:25:22
【问题描述】:

我正在尝试获取实际参加我创建的活动的人的所有姓名和 ID 的列表。使用 facebook 的 php graph api 获取列表很简单,而且似乎很有效。

获取数据的代码(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>";

结果:

数组(

[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
            )

    )

但是我在实际收集数据时遇到了问题;我只需要简单数组或列表中的名称和 ID,以便我可以在脚本的其余部分中使用它。有什么想法吗?

我的第二个问题是 php graph api 似乎对图 2.1 有一个“/eventnr/attending”的东西;向您的相关活动展示 nr 服务员;但是当我实际调用它时,我收到一条错误消息,指出我需要使用图 2.1,而我上传了最新的 php sdk,但似乎无法找到更改该版本的方法。这个问题不如上面那个重要;但如果它有效,我将需要更少的代码:)

希望你们能帮助我:)

【问题讨论】:

    标签: php facebook facebook-graph-api facebook-php-sdk facebook-graph-api-v2.0


    【解决方案1】:

    !!!!明白了!!!!

    在这里进一步看了一下,解决方案似乎很简单:

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

    显示:

    $names 数组:

    数组 ( [0] => 蒂埃里·马滕斯 [1] => 丽莎·马里奥·劳里尔 [2] => 拉米 Mahfoudhi [3] => Jeremy Verriest Duroisin [4] => Jonas En Svetlana Laurier [5] => Maxime Demerliere [6] => Jeremy Beauchamp [7] => 纱丽 Jens Delcourte Delusinne [8] => Pieter Marysse [9] => Patrick Vanden 博谢尔 [10] => )

    $ids 数组:

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

    【讨论】:

      【解决方案2】:

      就像:

      $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
      

      【讨论】:

      • 不工作;(我将编辑我的第一个代码并添加我用来获取数据的代码;可能有用。
      【解决方案3】:

      我添加了您的代码,但结果如下(空数组)

      添加代码:

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

      echo 和 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] => )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-19
        • 1970-01-01
        • 2012-05-06
        • 1970-01-01
        • 1970-01-01
        • 2011-06-28
        • 1970-01-01
        相关资源
        最近更新 更多