publicidad - ¿Cómo apilar el gráfico de Facebook para obtener noticias con un tamaño de imagen grande si el tipo de feed es foto?
tamaño portada evento facebook 2018 (7)
Usando la API de Facebook, api recibe News feed: https://graph.facebook.com/me/home?access_token= ...
El campo de imagen que devuelve tiene el tamaño más pequeño, como la imagen ":" https://fbcdn-photos-b-a.akamaihd.net/hphotos-ak-ash3/xxxxxx4_s.jpg :
¿Hay algún parámetro que pueda usar para recuperar miniaturas más grandes? Alguna forma de hacer esto?
Actualmente estoy buscando lo mismo. Sé que puedes intercambiar _s
por _n
al final y obtener un tamaño más grande ... pero no he descubierto cómo hacer que la API devuelva el tamaño más grande por sí misma.
Descubrí que el intercambio de caracteres al final de la URL del archivo a _n, _b o _o ya no funciona.
Facebook ha lanzado Graph API 2.0 que se puede utilizar para resolver este problema.
Aquí está la solución:
1. Obtenga el object_id de la publicación que desea que la imagen
En cada objeto Post, puede haber un campo object_id. Este campo solo aparece si la publicación tiene una imagen de video (es decir, tipo = ''foto'' o ''video'')
2. Realice una solicitud GET a https://graph.facebook.com/v2.0/ {object_id}? Access_token = {token}
por ejemplo, si object_id = 123 y token de acceso = abc, la URL para llamar se convierte en https://graph.facebook.com/v2.0/123?access_token=abc
Esta llamada API obtiene más información sobre el object_id dado. Dado que object_id en este caso representa una foto, la respuesta contendrá las diversas versiones de la foto.
La respuesta a esta solicitud se puede encontrar aquí: https://developers.facebook.com/docs/graph-api/reference/v2.0/photo
3. Tome la imagen de mayor tamaño del campo de imágenes
La respuesta de la llamada API tiene una imagen de nombres de campo. Esto contiene tamaños pequeños a grandes de la imagen. Solo toma el más grande.
Incluso intercambiar _s por _l o _b puede dar como resultado una miniatura más grande.
Pero a veces da como resultado una solicitud no válida o una imagen en blanco en lugar de un punto blanco sobre un fondo oscuro.
Idealmente, la API debería especificar crop, thumb, normal y large (como en la red de twitter) con cada objeto de imagen en la red.
Junto con el campo de imagen, hay un campo object_id. Coloque esta identificación en la siguiente URL:
https://graph.facebook.com/ {object_id} / picture
Esto devolverá la imagen de tamaño real. O puede escribir esto para diferentes tamaños de imagen.
https://graph.facebook.com/ {object_id} / picture? type = normal
Donde tipo puede ser: miniatura, normal, álbum.
Puede agregar una lista de campos personalizada para devolver el objeto.
?fields=full_picture
devolverá la imagen de tamaño completo.
devuelve el tamaño más pequeño, es decir, 130x130. para obtener el tamaño más grande intente reemplazarlo con
320x320
480x480
600x600
720x720
puede hacer una solicitud adicional con el [object_id]
de la entrada de entrada
$res = $facebook->api(''/yourid'', ''GET'', $params);