2015-07-12 129 views
2

下面是一些代碼:Facebook的API,讓網頁鏈接後(PHP)

$facebookUrl = 'https://graph.facebook.com/'.$facebookPageId.'/posts?&access_token='.$facebookAppId.'|'.$facebookAppSecret; 
$facebookData = json_decode(curlRequest($facebookUrl))->data; 

curlRequest成功返回的數據,但它是有限的。響應有以下三個項目:

  • 消息
  • 故事
  • CREATED_TIME
  • ID

這足以這些不包括照片(所有這些職位做)壞但更糟糕的是,我沒有任何鏈接可以讓我參加這個職位。

Twitter已重定向使用'https://twitter.com/statuses/'. $post->id; Facebook是否有類似的東西?或者更好的是,我如何獲得這些帖子的所有數據?

+1

回答我的問題的一半:'$ thePost ['link'] ='http://www.facebook.com/'.explode("_「,$ post-> id)[0]。'/ posts /'.explode(「_」,$ post-> id)[1];'將獲得該帖子的鏈接。 –

回答

2

鏈接後會

$facebookUrl = 'https://graph.facebook.com/'.$facebookPageId.'/posts?&access_token='.$facebookAppId.'|'.$facebookAppSecret; 
$facebookData = json_decode(curlRequest($facebookUrl))->data; 

$link = "http:/fb.com/".$facebookData->id; //This short link will redirect to the pages' post 

$facebookData->id是由獨特的價值觀之前,即部分「_」(下劃線)描述了父(頁面,用戶,組,事件)和字符串後下劃線是其父項的後ID。

+0

這絕對有幫助,但其他屬性應該在帖子上('picture','link'等)如何?我和@fauxserious有同樣的問題,FB文檔建議每個Post對象都應該有更多的數據返回 - https://developers.facebook.com/docs/graph-api/reference/v2。 5 /後讀# – supremebeing7

0

在上面添加到Nishant的有用答案後,Facebook有很多其他數據可以作爲Post對象的一部分獲得,如their docs中所述。默認情況下,雖然,所有的發送是

  • 消息
  • 故事
  • CREATED_TIME
  • ID

爲了獲取任何其他領域,要求在指定這些領域查詢參數。例如,如果我想與郵政相關的picturelink,我將因此構建我的GET請求:

https://graph.facebook.com/POST_ID?fields=picture,link&access_token=YOUR_TOKEN 

而且我會得到這樣的回答:

{ 
    "link": "http://example.com/link", 
    "picture": "https://example.com/picture", 
    "id": POST_ID 
} 

我不知道PHP,所以不能給OP的問題提供特定的語法,但這應該讓你在那裏大部分。