fields example facebook facebook-graph-api

example - Facebook Graph API-Obtener ID desde la URL de la página de Facebook



pagination facebook graph api (6)

He visto esta pregunta, pero lo que quiero es diferente.

Quiero obtener el ID de Facebook no desde una URL general (y por lo tanto condicional si tiene el botón Me gusta o no). Quiero obtener una ID de Facebook con una página de Facebook usando Graph API.

Tenga en cuenta que las páginas de Facebook pueden tener varios formatos, como:

http://www.facebook.com/my_page_name http://www.facebook.com/pages/my_page_name http://www.facebook.com/my_page_ID

Sé que podría hacer algunas expresiones regulares para obtener el nombre my_page o my_page_ID, pero me pregunto si alguien sabe si GraphAPI admite lo que quiero.


Esta respuesta tiene en cuenta que una URL puede terminar con una barra diagonal, algo que las páginas de eventos de Facebook parecen tener ahora en sus URL.

function getId(url) { var path = new URL(url).pathname; var parts = path.split(''/''); parts = parts.filter(function(part) { return part.length !== 0; }); return parts[parts.length - 1]; }


La respuesta a la pregunta se publicó anteriormente, pero el método que se muestra a continuación funciona bien, no es necesario que regex la regex en las URL de la página de Facebook.

Obtuve la respuesta por este método

FB.api(''/any_fb_page_url'', function(response){ console.log(response); });

any_fb_page_url puede ser cualquiera de los siguientes tipos

https://www.facebook.com/my_page_name https://www.facebook.com/pages/my_page_name https://www.facebook.com/my_page_ID

Esto también se enumera en la pregunta anterior

Este código se prueba en la consola JS disponible en las herramientas del sitio de desarrolladores de Facebook


Me parece que la solución más fácil para lo que describes es obtener el ID / nombre de la url que tienes usando lastIndexOf ("/") (para la mayoría de los idiomas tiene un equivalente) y luego obtener "https: // graph" .facebook.com / "+ id .

Los datos que esta url devuelve tienen la identificación (es decir: 6708787004) y el nombre de usuario (es decir: southpark), así que independientemente del identificador que use (lo que extrae de la url usando lastIndexOf), debe obtener el mismo resultado.

Editar

Este código:

identifier = url.substring(url.lastIndexOf("/")) graphUrl = "https://graph.facebook.com/" + identifier urlJsonData = getGraphData(graphUrl)

Debería funcionar igual (es decir, con los mismos datos) para ambos:

url = http://www.facebook.com/southpark

Y

url = http://www.facebook.com/6708787004

(Obviamente tendrá que implementar el método getGraphData ).

Además, el segundo formulario de la url en la pregunta no es una URL válida para las páginas, al menos no de mis pruebas, obtengo:

Es posible que haya hecho clic en un enlace caducado o que haya escrito mal la dirección. Algunas direcciones web distinguen entre mayúsculas y minúsculas.




<?php function getFacebookId($url) { $id = substr(strrchr($url,''/''),1); $json = file_get_contents(''http://graph.facebook.com/''.$id); $json = json_decode($json); return $json->id; } echo getFacebookId($_GET[''url'']); ?>

Eso es un ejemplo PHP de cómo obtener la identificación.