Facebook API列表收件箱使用php分页



我想通过facebook API-PHP的facebook消息列表。我用php写了一个代码,我写了这个代码;

     // Facebook App Connection   
     $facebook = new Facebook(array(
          'appId'  => 'xxxxxxxxxxxx',
          'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxx',
        ));
     $user = $facebook->getUser();
     if($user) {
      try 
      {
            $params = array(
                  'fields' => 'inbox',
                  );
        $user_profile = $facebook->api('/me',$params);
      } 
      catch (FacebookApiException $e) 
      {
        error_log($e);
        $user = null;
      }
     } 

    print_r($user_profile);
    /* Output:
Array
(
    [id] => xxxxxxxxxx
    [inbox] => Array
        (
            [data] => Array
                (
                    [0] => Array
                        (
                            [id] => xxxxxxxxxxxxxx
                            [to] => Array
                                (
                                    [data] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [name] => John Doe
                                                    [id] => xxxxxxxxxx
                                                )
                                            [1] => Array
                                                (
                                                    [name] => Jane Doe
                                                    [id] => xxxxxxxxxx
                                                )
                                        )
                                )
                            [updated_time] => 2013-01-13T21:33:34+0000
                            [unread] => 2
                            [unseen] => 1
                            [comments] => Array
                                (
                                    [data] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx 
                                                    [from] => Array
                                                        (
                                                            [name] => Jane Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => Hi!
                                                    [created_time] => 2013-01-13T19:15:49+0000
                                                )
                                            [1] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx 
                                                    [from] => Array
                                                        (
                                                            [name] => John Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => Hi,How are you?
                                                    [created_time] => 2013-01-13T19:15:54+0000
                                                )
                                            [2] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx 
                                                    [from] => Array
                                                        (
                                                            [name] => Jane Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => Fine but have a problem facebook api
                                                    [created_time] => 2013-01-13T19:16:03+0000
                                                )
                                            [3] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx 
                                                    [from] => Array
                                                        (
                                                            [name] => John Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => what problem?
                                                    [created_time] => 2013-01-13T19:16:25+0000
                                                )
                                            [4] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx
                                                    [from] => Array
                                                        (
                                                            [name] => Jane Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => not list all messages in inbox
                                                    [created_time] => 2013-01-13T21:04:37+0000
                                                )
                                            [5] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx
                                                    [from] => Array
                                                        (
                                                            [name] => John Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => I can't help
                                                    [created_time] => 2013-01-13T21:04:40+0000
                                                )
.bla
.bla
.bla
.bla
.bla
.bla
                                            [24] => Array
                                                (
                                                    [id] => xxxxxxxxxxxxxx_xxxx 
                                                    [from] => Array
                                                        (
                                                            [name] => John Doe
                                                            [id] => xxxxxxxxxx
                                                        )
                                                    [message] => Okey,bye
                                                    [created_time] => 2013-01-13T21:33:34+0000
                                                )
                                        )
                                    [paging] => Array
                                        (
                                            [previous] => https://graph.facebook.com/377285305670598/comments?limit=25&since=1358112814&__paging_token=377285305670598_2394&__previous=1
                                            [next] => https://graph.facebook.com/377285305670598/comments?limit=25&until=1358104549&__paging_token=377285305670598_2370
                                        )
                                )
                        )

    */

我想输出;
简·多伊:嗨!
约翰:嗨,你好吗?
Jane Doe:很好,但是有个问题facebook api
无名氏:什么问题?
Jane Doe:不列出收件箱中的所有邮件
约翰·多伊:我忍不住
约翰·多伊:好的,再见

我写的代码;

      for($i=0; $i <= 5; $i++){
        foreach($data  as $a):
      foreach($a[$i] as $id  => $to):
         foreach($to as $data):
        foreach($data as $key => $value):
            echo $value["name"]."=>".$value["message"];
        endforeach;
          endforeach;
       endforeach;
     endforeach;
    endforeach; 
  echo "<br/>";

我的结果;
Jane Doe =>
John Doe =>
=>你好!
嗨,你好吗?
=>很好,但有问题facebook api
=>什么问题?
=>不列出收件箱中的所有邮件
=>我忍不住
bla
…bla
…bla
…=>我忍不住
h => h
h => h

我要查看所有消息和发件人名称。我试过了;
1-获取下一个url和file_get_content($url);-不工作。
2-通过限制和偏移-不工作
如何编写代码?

我想这就是你想要的。

foreach($user_profile as $main){
foreach($main as $a){
foreach($a as $b){
foreach($b as $c){
foreach($c as $d){
foreach($d as $e){
if(strlen($e["name"]) > 1){
echo "<b>".$e["name"].":</b>";
}
}
echo $d["message"]."</br>n";
}
}
}
}
}

这对你有帮助。

<h1>Inbox Start</h1>
  <?php
    $inbox = $user_profile["inbox"]["data"];
    foreach ($inbox as $data){ ?>

        <h3>To: </h3>
        <?php
        foreach ($data["to"]["data"] as $to){
        ?>
            <a href="http://www.facebook.com/<?php echo $to["id"]?>" target="_blank"><?php echo $to["name"]?></a> &nbsp; 
        <?php
        }
        ?>
        <h3>Last Reply: </h3>
        <?php echo date("d M, Y H:i:s",strtotime($data["updated_time"]))?>
        <h3>Message Read: </h3>
        <?php if($data["unread"]==1){ echo "Unread";}else { echo "Read";}?>

        <h3>Message Seen: </h3>
        <?php if($data["unseen"]==1){ echo "Unseen";}else { echo "Seen";}?>
        <h3>Comment: </h3>
        <?php
        $comments = $data["comments"]["data"];
        foreach ($comments as $comment){
        ?>
            <div>
                <div style="float:left; width:50px;">
                    <img src="https://graph.facebook.com/<?php echo $comment['from']['id']?>/picture?width=50&height=50" />
                </div>
                <div style="float:left; margin-left:10px;">
                    <strong style="color: #AF2D2D;"> <?php echo $comment['from']['name']?></strong> <br />
                    <p style="color: gray !important;"><?php echo date("d M, Y H:i:s",strtotime($comment["created_time"]));?></p>
                </div>
                <div style="clear:both; margin-bottom:10px;"></div>
                <div style="width:500px; color: #AF2D2D;">
                    <?php echo $comment['message'] ?>
                </div>    
             </div>

        <?php
        }
        ?>
        <hr><bR>
<?php   
    }
  ?>

相关内容

  • 没有找到相关文章

最新更新