Se solicita API FACEBOOK Validar que un post fue compartido

  • Autor Autor fais
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

F

fais

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, estoy haciendo un sistema de puntos, en el que al compartir un post se sumen x puntos, el problema es que puedes dale al botón de compartir y salirte en la siguiente pantalla por lo que no me sirve registrar cuando se pulsa el botón sino cuando se envia realmente, os dejo un trocito de codigo que lo aclara:

Insertar CODE, HTML o PHP:
 fb.api('/me/feed', 'post', params, function(response) {
     if (response && !response.error_code) {
        alert("Compartido");
    } else if (response && response.error_code === 4201) { //Cancelar
        alert("Cancelo el compartir");
    } else {
        alert("Error al compartir");
    }});

Me urge mucho seria para el domingo 5 por la noche como mucho, ofrezco 20 dolares, seriedad y pago en el momento.

Cualquier pregunta hablarme por privado, si te interesa deja skype o alguna forma de comunicación mas rapida

Un saludo y gracias
 
Puede que te sirva este codigo
Insertar CODE, HTML o PHP:
<!DOCTYPE html>
    <html xmlns:fb="http://www.facebook.com/2008/fbml">
    <head>
    </head>
    <body>

    <a href="#" onClick="postToFacebook()">Post to Facebook</a>

    <script>
    function postToFacebook() {
        var body = 'Reading Connect JS documentation';

        FB.api('/me/feed', 'post', { body: body, message: 'My message is ...' }, function(response) {
          if (!response || response.error) {
            alert('Error occured');
          } else {
            alert('Post ID: ' + response);
          }
        });
    }
    </script>

    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit = function() {
        FB.init({
          appId  : 'YOUR APP ID GOES HERE',
          status : true, // check login status
          cookie : true, // enable cookies to allow the server to access the session
          xfbml  : true  // parse XFBML
        });
      };

      (function() {
        var e = document.createElement('script');
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
      }());
    </script>

    </body>
    </html>
 
No consigo hacerlo funcionar.

Gracias de todas maneras.

- - - Actualizado - - -

He adaptado tu codigo, pero me lanza un error:
ReferenceError: fb is not defined


Insertar CODE, HTML o PHP:
<!DOCTYPE html>
    <html>
    <head>
    
    
     <div id="fb-root"></div>
    <script>
 
  fb.api('/me/feed', 'post', params, function(response) {
     if (response && !response.error_code) {
        alert("Compartido");
    } else if (response && response.error_code === 4201) { //Cancelar
        alert("Cancelo el compartir");
    } else {
        alert("Error al compartir");
    }});
      
      (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/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
 
      
        window.fbAsyncInit = function() {
    FB.init({
      appId      : '847954758573210',
      xfbml      : true,
      version    : 'v2.3',
        oauth      : true 
    });
  };
    
    </script> 

    </head>
    <body>
   

   
<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>

    </body>
    </html>
 
HTML:
http://graph.facebook.com/?id=http://forobeta.com

creo que es eso lo que buscas, saludos

ahi salen los numero de compartidos, si vez que ha aumentado el numero de compartidos significa que alguien lo ha compartido...

No consigo hacerlo funcionar.

Gracias de todas maneras.

- - - Actualizado - - -

He adaptado tu codigo, pero me lanza un error:
 
Última edición:
Gracias por el intento, pero no es serio, puedes quitar varios compartidos a la vez que le das y que te salga -2 a lo mejor, no es uan metodo adecuados, pero gracias de todos modos

- - - Actualizado - - -

Si alguien puede ayudar estaria muy agadecido, tengo limite esta noche.

- - - Actualizado - - -

Ya lo tengo por si a alguine le sirve

Insertar CODE, HTML o PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
   "http://www.w3.org/TR/html4/strict.dtd"> 
<HTML> 
   <HEAD> 
      <TITLE>This is an app requsest to many people</TITLE> 
   </HEAD> 
   <BODY> 
<div id="fb-root"></div> 
 <script src="//connect.facebook.net/en_US/all.js"></script> 
<script type="text/javascript"> 
   FB.init({ 
     appId  : '472706516226514', 
     status : true, 
     cookie : true, 
     xfbml  : true, 
     channelUrl  : 'http://newsboard.mbtest.es/pf/index.html', 
     oauth : true 
   }); 
   
   function ponerenelmuro(){
FB.ui( 
  { 
    method: 'feed', 
    message: 'My message is ...',
    link: 'https://www.facebook.com/ElAutodidactaWeb', 
    picture: 'http://fbrell.com/f8.jpg'
 
  }, 
  function(response){ 
   if (response && !response.error_code) {
        alert("Compartio");
    } else if (response && response.error_code === 4201) { //Cancelar
        alert("Cancelo el compartir");
    } else {
        alert("Error al compartir");
    }}
); 
} 
 
</script> 

<input type="button" value="compartir" onclick="ponerenelmuro()"/>
   </BODY> 
</HTML>
 
Última edición:
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Temas similares

Atrás
Arriba