2011-12-25 59 views
0

我有閱讀飼料工作,找回我應該的一切,它看起來像下面列出的陣列:如何閱讀單個狀態更新,評論或類似內容?

我的問題是,我想要檢索單個消息。我試過了:

// what I think should work - fails 
$msgData = $facebook->api("/$fb_id/posts/$msgToken", 'GET', $parameters); 

// link in msg (below) but fb gives "unknown browser" error message 
$msgData = file_get_contents("http://www.facebook.com/$fb_id/posts/$msgToken"); 

// as per fb docs but this fails too... 
$msgData = file_get_contents("https://graph.facebook.com/$msgToken"); 

那麼,當你知道消息ID時只有一條消息的真正方法是什麼?

[0] => Array 
    (
     [id] => 100002222222222_209088888888888 
     [from] => Array 
      (
       [name] => My dog 
       [id] => 100002222222222 
      ) 

     [message] => this is a test msg... 
     [picture] => http://platform.ak.fbcdn.net/www/app_full_proxy.php?app=999999999999999... 
     [link] => http://www.domain.com/ 
     [name] => Application Name 
     [caption] => Caption of for this post 
     [description] => A description of this post 
     [icon] => http://www.facebook.com/images/icons/default_app_icon.gif 
     [actions] => Array 
      (
       [0] => Array 
        (
         [name] => Comment 
         [link] => http://www.facebook.com/100002222222222/posts/209088888888888 
        ) 

       [1] => Array 
        (
         [name] => Like 
         [link] => http://www.facebook.com/100002222222222/posts/209088888888888 
        ) 

      ) 

     [privacy] => Array 
      (
       [description] => Friends 
       [value] => ALL_FRIENDS 
       [allow] => 0 
       [deny] => 0 
      ) 
    ) 
+0

你會得到什麼錯誤? – 2011-12-25 15:53:28

回答

1

您可以通過帖子ID這是您所提供的樣品100002222222222_209088888888888訪問單篇文章。 (帖子ID爲"{$user_id}_${message_id}"

要這麼做,您還需要激活access_token。如果您在使用Facebook的PHP-SDK將使用登錄用戶access_token(如果你登錄到Facebook和用戶FB.loginFacebook::getLoginUrl

$post_id = '100002222222222_209088888888888'; 
$msgData = $facebook->api("/{$post_id}"); 

否則你需要手動提供一個:

$post_id = '100002222222222_209088888888888'; 
$access_token = "APPLICATION_OR_USER_ACCESS_TOKEN"; 

// Using Facebook PHP-SDK 
$parameters = array('access_token'=>$access_token); 
$msgData = $facebook->api("/{$post_id}", 'GET', $parameters); 

// OR 

// Using file_get_contents 
$url = "https://graph.facebook.com/{$post_id}?access_token={$access_token}"; 
$msgData = file_get_contents($url); 
+0

是的......就是這樣!我只使用了消息ID,並且關閉了user_id。將它們與下劃線一起添加,效果很好,並且與消息的註釋相同:$ msgToken = $ user_id_ $ message_id_ $ comment_id; – ppetree 2011-12-25 16:46:22