2017-07-28 99 views
0

我試圖通過一個循環獲得帖子消息和id,最終我會想要獲得帖子的喜歡,但我還沒有,所以一次一個步驟。Facebook的api:迭代通過帖子

我得到我的網頁的名稱,網址,圖片,說明,粉絲和帖子。 然後我繼續顯示它們。 帖子顯然是一個Stdclass對象,所以粗略顯示它print_r的作品。

FacebookSession::setDefaultApplication('app','appsecret'); 


$session = FacebookSession::newAppSession(); 


$request = new FacebookRequest($session, 'GET', '/myapp?fields=id,name,about,likes,link,,posts'); 
$response = $request->execute(); 

$content = $response->getGraphObject()->asArray(); 


?> 

<h1><?= $content['name'] ?></h1> 

<p><img src="http://graph.facebook.com/<?= $content['id'] ?>/picture?width=180&height=180" /></p> 
<p>About: <?= $content['about'] ?></p> 

<p>fans: <?= $content['likes'] ?></p> 

<p>url: <?= $content['link'] ?></p> 

<p>posts: <?= print_r($content['posts']) ?></p> 

所以,我試圖做一個循環

foreach($content['posts'] as $post){ 
    echo $post['id']; 
    echo $post['message'] 
} 

不過,我得到的ID和消息indefined指數的誤差,雖然我大致知道爲什麼,我一直沒能解決這個問題。在帖子

print_r的輸出是這樣的:

StdClass Object ([data] => Array ([0] => stdClass Object ([message] => postmessage. [created_time] => 2017-06-28T13:00:00+0000 [id] => a_post_id) 

感謝您的幫助。

+2

嘗試這樣的:'的foreach($內容[ '帖子'] - >數據$ POST){'(你的陣列是一個屬性,在你的對象中稱爲「數據」) – Kaddath

+0

哈哈猜我認爲是你張貼的時間:-)非常感謝! –

回答

0

想通自己,但Kaddath還提供了正確的方法:

foreach ($content['posts']->data as $posts) { 

    echo "<p>posts id: $posts->id</p>"; 

    echo "<p>posts message: $posts->message</p>"; 
}