personalizado - ¿Necesito una aplicación para una versión XFBML del botón Me gusta de Facebook?
no aparece el boton me gusta en mi pagina de facebook (3)
Respondiendo a mi propia pregunta, después de sacar todo mi pelo ...
http://developers.facebook.com/docs/guides/web/
"JavaScript SDK requiere que usted registre su sitio web con Facebook para obtener una ID de aplicación (o una aplicación). La aplicación es un identificador único para su sitio que garantiza que tengamos el nivel de seguridad adecuado entre el usuario y su sitio web. El siguiente ejemplo muestra cómo cargar el JavaScript SDK una vez que tienes tu appId: "
http://developers.facebook.com/setup/
El título de esa página / formulario es Crear una aplicación . Todavía no entiendo por qué no usan terminología más genérica. No estoy "creando una aplicación" y no considero que mi sitio web sea una aplicación.
Estoy realmente confundido.
Estoy tratando de usar algunos de los complementos de Facebook muy simples en mi sitio, específicamente el botón básico "Me gusta".
Ya sé cómo usar la versión limitada con un iFrame.
Sin embargo, ahora estoy tratando de descubrir el método XFBML y la documentación en línea parece hacer muchas suposiciones sobre lo que ya sabe y realmente no tiene ejemplos de trabajo. Por ejemplo, le muestran cómo llamar a JavaScript Init y darle una sola línea de código HTML para el elemento fb: como ... pero no pude ver ningún ejemplo de cómo mostrar / ocultar caras, establecer la fuente predeterminada, etc. como en el código iFrame.
Desde entonces, he descubierto que debes agregarlos como atributos al elemento, pero eso fue gracias a StackOverlfow y no gracias a la documentación de Facebook que simplemente te lleva en círculos.
<fb:like href="http://mydomain.com" show_faces="true" action="recommend" colorscheme="light" width="400" height="35" />
Ok, ahora cuando use el código XFBML, su altura debería expandirse / contraerse automáticamente dependiendo de si estoy conectado o no.
No sé si se supone que debo establecer inicialmente la altura en "80" o si eso sucede automáticamente.
Y no tengo idea de lo que se supone que debo usar para ''su ID de aplicación'' en el guión Init. No hay ninguna aplicación ... solo una página de la compañía de Facebook ... entonces, ¿por qué necesitaría un ID de la aplicación cuando solo estoy poniendo un botón Me gusta en un sitio web?
<script>
window.fbAsyncInit = function() {
FB.init({
appId: ''your app id'',
status: true,
cookie: true,
xfbml: true
});
};
Cualquier aclaración sobre estos temas sería apreciada.
¡Gracias!
No tengo una aplicación, pero acabo de recibir este código del generador de código similar y parece funcionar en mi entorno local (que usa localhost: 8000 pero todavía tiene 136 "me gusta"). Cuando presiono los botones, aparece la ventana emergente de inicio de sesión de Facebook como se esperaba.
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, ''script'', ''facebook-jssdk''));</script>
<fb:like href="url here (optional)" send="true" width="450" show_faces="true"></fb:like>
tu puedes hacer...
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" >
...
window.fbAsyncInit = function() {
FB.init({
// appId : ''none'', // App ID
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
FB.Event.subscribe(''edge.create'', function(href, widget) {
var ss=href;
if (ss.match(/myWebSite/i)) {
alert(''You just liked me'');
}
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_GB/all.js#xfbml=1";
//js.src = "https://connect.facebook.net/en_GB/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, ''script'', ''facebook-jssdk''));
...
<fb:like ref="core" class="fb-like" data-href="http://www.mySite.com"
data-send="false" data-layout="button_count"
data-width="50" data-show-faces="false" data-colorscheme="dark"></fb:like>
lo anterior funciona, pero te gusta a ti mismo, y observa cómo Facebook divide me gusta reales con sitios registrados en Facebook (dando una página spash, #seguidores, #talk, etc.), desde URLs que te gustan no lo sabe. (el sitio, al menos, obtiene un contador creciente). Es un poco frustra el propósito de ser querido en absoluto. Podría estar equivocado, pero creo que ni siquiera publica mensajes sobre este último.
esto es muy malo, porque me estoy quedando sin números de teléfono para Facebook :)
Entonces, al menos para mí, hay un problema mayor. Si vas a recompensar a alguien por que te gusta, no puedes estar seguro de haberlo hecho, porque esto es js. Si intenta redirigir js a una página de recompensa, un usuario puede simplemente cortar pegar esa url. Podrías establecer una var de sesión rnd, pasarla a js y redirigir js a una página php con ella, pero un usuario podría resolver eso también.
No puedes parece (o comentó la aplicación) ...
require ''face_sdk/face/src/facebook.php'';
$facebook = new Facebook(array(
''appId'' => '''',
''secret'' => '''',
));
$user = $facebook->getUser();
entonces parece que no hay una forma directa de php. Estaba jugando con pasar el iframed Like url a php, analizarlo con simple_html_dom.php y encontrar cuál de los dos divs principales tiene la clase ''hidden_elem''. Pero al final, simplemente no vale la pena porque Facebook lo tratará como un ciudadano de segunda clase.