2011-01-18 91 views

回答

46

我發現,一個圖ID 1099696306_140549259338782的聯繫是建立這樣的: http://www.facebook.com/1099696306/posts/140549259338782

+3

作爲回答,然後你應該紀念這個問題.. – 2012-10-16 10:40:50

+1

怎麼做呢? – corrego 2015-10-29 14:06:30

+0

@corrego,您單擊答案旁邊的向上/向下按鈕旁邊的複選標記。 – Scott 2016-02-04 14:19:52

21

老實說,我發現這樣做最簡單的方法就是:

"http://www.facebook.com/" + postId 

哪裏postId只是後(186173001411937)的直ID,而不是userid_postid變種。

4

使用圖形api v2.5,您可以使用posts對象的permalink_url字段。

即:

www.facebook.com/v2.5/{pagename}/?fields=posts{permalink_url,message,story,created_time,id} 

將返回

"posts": { 
    "data": [ 
    { 
    "permalink_url": "https://www.facebook.com/etsmtl/posts/10153868925494376", 
    "message": "Le Club Cedille organise le prochain Linux-Meetup ce soir à l'ÉTS. Au programme : conférence de James Shubin, ingénieur logiciel sénior chez Red Hat.", 
    "created_time": "2016-03-01T15:23:11+0000", 
    "id": "8632204375_10153868925494376" 
    }, ... } 
0
public <T>getPagePosts(string pageId, string access_token, int limit) 
     { 
      var client = new RestClient("https://graph.facebook.com"); 
      var request = new RestRequest(Method.GET); 
      var fields = "posts{permalink_url,picture,message,story,created_time,id}"; 
      request.Resource = "{version}/{object_id}/"; 
      request.RequestFormat = DataFormat.Json; 
      request.JsonSerializer.ContentType = "application/json;"; 
      request.AddParameter("access_token", access_token); 
      request.AddParameter("version", "v2.10", ParameterType.UrlSegment); 
      request.AddParameter("object_id", pageId, ParameterType.UrlSegment); 
      request.AddParameter("limit", limit); 
      request.AddParameter("fields", fields); 
      var response = client.Execute(request); 
      var result = JsonConvert.DeserializeObject<T>(response.Content); 
      return result; 
     }