2010-11-22 15 views
9

Me gustaría publicar un enlace a Facebook usando el Graph API, pero me gustaría poder evitar una imagen en miniatura. La interfaz web de Facebook tiene una casilla de verificación que no tiene nada de pulgar al publicar una imagen; Me gustaría simular esto desde mi propia aplicación.¿Cómo publico un enlace a Facebook sin una miniatura?

He intentado especificar una cadena vacía, tanto para los source y picture argumentos, pero Facebook todavía va a buscar una imagen en miniatura para la link especificada independientemente.

Por ejemplo, he probado esto, pero una imagen en miniatura sigue apareciendo:

curl -F 'access_token=...' \ 
    -F 'message=Link with empty source and empty picture' \ 
    -F 'link=http://stackoverflow.com' \ 
    -F 'picture=' \ 
    -F 'source=' \ 
    https://graph.facebook.com/me/feed 

ACTUALIZACIÓN: This support forum sugiere que se trata de un error con Facebook, y sugieren la publicación de una imagen clara de 1x1 píxeles . Preferiría una mejor solución que esto.

+1

Creé un error de Facebook en el nuevo sistema de seguimiento de errores sobre esto: https://developers.facebook.com/bugs/231434760243248 – Akrikos

Respuesta

3

Facebook ha arreglado este bug. Configure la imagen como cadena vacía o establezca picture = NULL; ambas deberían funcionar ahora.

+1

desafortunadamente no está fijado para publicar en "me/links" – Bozho

1

Intente utilizar el valor "0" para la imagen. Esto funcionó para nosotros, muestra una barra gris junto a la información del enlace, pero no dibuja una imagen predeterminada y no muestra el espacio en blanco incómodo cuando se usa un píxel de 1x1.

Espero que esto ayude!

+0

Andy, ¡Gracias! Eso es exactamente lo que estaba buscando. –

+0

Bummer. Tuve que eliminar esto como la respuesta aceptada, porque Facebook ya no lo permite. Si intenta 'picture = 0', Facebook devuelve el siguiente error sin sentido: ** (# 100) La imagen FBCDN no está permitida en la transmisión ** –

4

Dado que picture=0 ya no parece funcionar sin un error, aquí hay otra forma, pero es un truco y probablemente no se recomienda. Al omitir el argumento picture y especificar un argumento source que es una URL válida, pero no es una imagen, Facebook presentará la publicación sin la miniatura. Por ejemplo:

curl -F 'access_token=...' \ 
    -F 'message=Link with empty source and empty picture' \ 
    -F 'link=http://cnn.com' \ 
    -F 'source=http://cnn.com' \ 
    https://graph.facebook.com/me/feed 
+0

Parece que funciona ... pero tiene razón de que se siente raro. Solo estaba descuidando incluir una imagen, pero recién hoy ha comenzado de forma intermitente el éxito sin imagen o {"error": {"tipo": "OAuthException", "mensaje": "(# 100) los objetos img deben tener validez 'src' y 'href' atributos "}} o que incluyen una imagen de la página. Estoy pensando en volver a jugar con eso y no hacerlo bien :-( – Akrikos

+0

Por extraño que parezca, si consultas la publicación creada por este método, ni la imagen ni los atributos de origen existen. – Akrikos

0

Ahora en junio de 2011 parece el "cuadro =" parámetro no es necesario en absoluto, y FB no le sacó uno de la página, ya sea:

curl \ 
    -F "message=test message, attempting to verify solution of SO problem" \ 
    -F "name=StackOverflow" \ 
    -F "link=http://stackoverflow.com/questions/4246170/how-do-i-post-a-link-to-facebook-without-a-thumbnail" \ 
    -F "access_token=you_dont|reallythink|imgonnapostmyrealaccesstoken_doya?" \ 
    "https://graph.facebook.com/11239244970/feed" 

Resultado al página de Facebook de SO: https://www.facebook.com/pages/stackoverflow/11239244970

+0

Genial, la API de Facebook cambia de nuevo ¿Este comportamiento está documentado en algún lugar ahora, o es otro cambio oculto? Me preocupa confiar en esto si eligen "arreglarlo" de la manera en que solía funcionar. Por ejemplo, todavía estamos usando el claro Imagen pirateada solo para asegurar que nuestros clientes obtengan el comportamiento deseado todo el tiempo. Consulte esto también: https://skitch.com/rmm5t/fruhy/no-thumbnail-graphapi –

+0

tal vez no documentado, al menos no se menciona en el gráfico en línea Documentación de la API. Tengo la impresión de que la API es para uso propio de Facebook, y realmente no podrían preocuparse menos si alguien más puede usarla. Probablemente sea mejor que se quede con el píxel transparente. El truco feo que funciona a veces es la mejor solución posible. –

+0

Tengo problemas intermitentes con el método de no incluir una etiqueta con imagen. A veces me arroja un error, otras veces realmente capta una imagen. :-( – Akrikos

0

parece ser que si se especifica una URL de imagen en el servidor es inaccesible o si la imagen no existe, el puesto resultante incluye la barra gris como se desee:

curl -F 'access_token=...' \ 
-F 'message=404 picture' \ 
-F 'link=http://example.com' \ 
-F 'name=Example' \ 
-F 'description=example.com is not about bbq' \ 
-F 'caption=example.com' \ 
-F 'picture=http://example.com/this/does/not/exist/1.gif' \ 
https://graph.facebook.com/me/feed/ 

Para una divulgación completa, sin embargo, no estoy utilizando esta solución en producción porque parece hacky y no confío en Facebook para permitir que este método exista indefinidamente.

2

Hablé con los desarrolladores de Facebook en F8 2011 y estuvieron de acuerdo en que esto es un error. He presentado este error con Facebook en su nuevo sistema de seguimiento de errores:

https://developers.facebook.com/bugs/231434760243248

Si quieres lo arreglen, Upvote esta pregunta & respuesta!

0

ponga una imagen url no válida que se "resolverá", mientras que el facebook no soluciona este error. el parámetro es: "imagen"

0

Esto ha sido deshabilitado por Facebook y no es un error, es por diseño como se establece here por el equipo de FB. Dicen que también eliminarán la opción "Sin miniaturas" de su sitio, no solo en la API. El hilo que he vinculado es el más reciente (31 de diciembre de 2015).

La única opción que funciona ahora es enviando el campo picture con la url a una imagen de 1x1 píxeles.

Cuestiones relacionadas