data - open graph facebook example
''Me gusta'' en una página usando Facebook Graph API (6)
Uso de Graph API Me gustaría poder tener un usuario "me gusta" en una página.
Traté de publicar lo siguiente
https://graph.facebook.com/${PAGE_ID}/likes?access_token=${ACCESS_TOKEN}
Y obtengo un error HTTP 500 acompañado por "parámetro post_id no válido" en el cuerpo de respuesta JSON. Parece que el recurso /likes
es adecuado para que /likes
una publicación en la pared y no una página. ¿Cómo hago que esto funcione con una página?
Creo que esto no está permitido, excepto para sitios asociados específicos, como yelp. La razón es la seguridad, usted podría poner algo de javascript en una página y hacer que todos los que visiten esa página lo "sigan" sin su conocimiento.
Consulte ¿Cómo "Me gusta" una URL? en el foro de desarrolladores de plataforma de Facebook
Facebook ha anunciado su apoyo para que le gusten las URL fuera de Facebook mediante el uso de la acción de Me gusta incorporada oficial. Necesita tener permisos de publish_actions
. La URL del gráfico para esto es: https://graph.facebook.com/[User FB ID]/og.likes?object=OG_OBJECT_URL&access_token=USER_ACCESS_TOKEN
Sin embargo, no puede usar esto para que le guste una página en Facebook actualmente, como lo indica la documentación :
Para las páginas de Facebook o los sitios web que no se integran con la Autenticación de Facebook, los desarrolladores deben seguir utilizando el complemento social del botón Me gusta.
Puede usar un objeto con su ID de objeto usando la API de Facebook usando la siguiente pieza de código
[FBRequestConnection startForPostWithGraphPath:[NSString stringWithFormat:@"/%@/likes",{object_id}] graphObject:nil completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
//do you customisation post like here
}];
Si desea esta funcionalidad en una pestaña de página o página de lienzo dentro de Facebook (por ejemplo, para permitir que le guste la página dentro de una página similar), un trabajo a su alrededor puede incluir lo que Tom Wells sugirió en su respuesta a Luke. Primero incrusta la versión iframe de su botón "me gusta" en su página, y luego simplemente escuche el evento edge.create
en su JS de esta forma:
FB.Event.subscribe(''edge.create'',
function(response) {
alert(''You liked the URL: '' + response);
// ...
}
);
En la devolución de llamada, puede lidiar con lo que sucede cuando al usuario le ha gustado la página, por ejemplo, al navegar fuera de la página like-gate o al mostrar contenido de solo me gusta.
Cuando el usuario hace clic en el botón iFrame like, su código JS debe recibir el evento edge.create
suponiendo que el iFrame se configuró para que apunte a la url de la página en cuestión.
si su aplicación es una aplicación de gráfico abierto, ahora puede usar la API y ya no necesita el botón.
https://developers.facebook.com/docs/opengraph/actions/builtin/likes/
Actualización junio de 2016
Todavía no es posible hacer clic en Me gusta en una página que utiliza la API de Facebook, como se indica en la página de documentación /{user_id}/likes
sobre Creación / Actualización / Eliminación:
No puede realizar esta operación en este punto final.
En versiones anteriores, el mensaje era más claro (ver la cita a continuación), pero el resultado es el mismo: no es posible.
Mayo de 2014
La página de la documentación de /{user-id}/likes
dice sobre la publicación de me gusta de las páginas de Facebook:
No puede publicar utilizando este borde, ya que no es posible hacer clic en Me gusta en una página de Facebook a través de ninguna API . Debería usar el botón Me gusta si desea que las personas puedan incluir una página en su aplicación.
Esta es la declaración más obvia y clara que ha podido darme una respuesta a la pregunta.