Página web dinámica de objeto gráfico abierto de Facebook

Así que estoy creando una aplicación para iPhone que implica compartir a través del protocolo de gráfico abierto de Facebook. Sin embargo, estoy atascado al crear una página web dinámica para el objeto con metaetiqueta. Me encontré con esta publicación, Generación dinámica de metaetiquetas de Open Graph de Facebook, e intenté usar el código, pero no funciona.

Esta es mi página web de objetos food.php.

<?php

$params = array();
if(count($_GET) > 0) {
    $params = $_GET;
} else {
    $params = $_POST;
}

// defaults
if($params['type'] == "") $params['type'] = "food";
if($params['title'] == "") $params['title'] = "default title";
if($params['image'] == "") $params['image'] = "blank";
if($params['description'] == "") $params['description'] = "default description";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#">

        <!-- Open Graph meta tags -->
        <meta property="fb:app_id" content="MY_APP_ID" />
        <meta property="og:url" content="http://mysite.com/index.php?type=<?php echo $params['type']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/>
        <meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/>
        <meta property="og:title" content="<?php echo $params['title']; ?>"/>
        <meta property="og:image" content="http://mysite.com/img/<?php echo $params['image']; ?>.jpg"/>
        <meta property="og:description" content="<?php echo $params['description']; ?>"/>

    </head>
</html>

Con este código residiendo en mi servidor, intenté acceder a la página usando la herramienta de depuración de objetos fb con esta url.

http://mysite.com/food.php?fb:app_id=MY_APP_ID
&og:type=MY_APP_NAME_SPACE:food
&og:title=Pizza
&og:description="Pizza"
&og:image=http://mysite.com/img/someImage.jpg

*nota que no hay espacio en la url

y el depurador arroja este error

Error al analizar la URL:Error al analizar la URL de entrada, no se extrajeron datos.

Supongo que el problema radica en la URL que ingresé porque la herramienta no puede analizarla. Si no, ¿qué podría ser?

preguntado el 31 de julio de 12 a las 10:07

Creo que no entendiste el ejemplo del código original, tus parámetros no necesitan la parte "og:", simplemente http://...?type=...&title=... y así sucesivamente, también app_id no está parametrizado en su código pegado. -

MY_APP_ID se reemplaza con el ID real de la aplicación. Eliminé el og: en la URL y el error aún persiste. -

Es posible que deba codificar los parámetros de su URL para la herramienta de depuración de Facebook, caracteres como / o ':` no está permitido en la cadena de consulta. Mira qué códigocrudo imprime para sus parámetros GET individuales. -

1 Respuestas

if($params['description'] == "") $params['description'] = "default description";

Se supone que la "descripción predeterminada" es SU descripción del sitio que los visitantes verán porque eso es lo que Facebook está raspando en su página.

la variable $parámetros['descripción']; ?> generará la descripción actual en su cadena. ”/>

La declaración de eco es como imprimir la descripción real y es lo que verá el depurador de Facebook.

Debe pasar los valores a través de la URL, como mysite.com/pizza.php?title=pizza&description=whateveryourdescriptionis para que Facebook raspe esa página en particular

Respondido 06 Oct 17, 20:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.