2011-01-18 16 views

risposta

21

Onestamente, il modo più semplice che ho trovato per fare questo è solo :

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

Dove postId è solo l'id rettilineo del montante (186.173.001.411.937), non la variante userid_postid.

+1

Questo non funzionerà per i post degli utenti sulle pagine, tuttavia la soluzione di @ user580602 copre questo caso. – frame

+0

L'utente deve essere registrato per vedere questo post, è possibile che il pubblico veda questo post? – Noitidart

+0

Questo non funziona in tutti i casi. Per me fallisce per la maggior parte del tempo usare il campo 'permalink_url' invece – Joel

4

con il grafico api v2.5 è possibile utilizzare il campo permalink_url dell'oggetto post.

cioè .:

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

tornerà

"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

Fresco. C'è qualche riferimento per questo nei documenti di Facebook? – user1105951

+0

Questa sembra essere la migliore risposta; tuttavia, per quanto ne so, non è nei documenti. In questo bug report: https://developers.facebook.com/bugs/683573291807160/ l'ingegnere di Facebook ha detto che sarà il registro delle modifiche se viene modificato. – Joel

2

Per quanto riguarda una pagina di post pubblico di fronte prendere la Id restituito dal Facebook Graph API esempio 12345678_12345678 e aggiungilo a facebook.com ad es. https://www.facebook.com/12345678_12345678. Il post è anche evidenziato mentre si accede alla pagina.

+0

Soluzione fantastica e semplice. Grazie mille. Facebook ha bisogno di fare un lavoro migliore documentando le proprie API se si aspettano che il mondo le usi. –

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; 
     } 
Problemi correlati