propiedades - ¿Cuál es la url para una publicación abierta de Facebook?
og:image facebook (5)
Dada una ID de publicación devuelta por una búsqueda gráfica, por ejemplo: 186173001411937
¿Hay una url para enlazar a la publicación en facebook? La siguiente url no funciona: http://www.facebook.com/post.php?id=186173001411937
Con respecto a una publicación de página pública, tome la ID devuelta de la API de Graph de Facebook, por ejemplo, 12345678_12345678 y adjúntela a facebook.com, por ejemplo, https://www.facebook.com/12345678_12345678 . La publicación también se resalta al acceder a la página.
Descubrí que, para un ID de gráfico 1099696306_140549259338782, los enlaces se construyen así: http://www.facebook.com/1099696306/posts/140549259338782
Honestamente, la forma más sencilla que he encontrado para hacer esto es simplemente:
"http://www.facebook.com/" + postId
Donde postId
es solo el ID directo de la publicación (186173001411937), no la variante userid_postid.
con el gráfico api v2.5 puede usar el campo permalink_url del objeto posts.
es decir:
www.facebook.com/v2.5/{pagename}/?fields=posts{permalink_url,message,story,created_time,id}
volverá
"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"
}, ... }
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;
}