Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Discussione: Facebook API

Hybrid View

  1. #1
    Allora, ti spiego cosa ho fatto:

    ho inserito questo subito dopo il tag <body>
    codice:
    <div id="fb-root"></div>
    <script>
      window.fbAsyncInit =function(){
        // init the FB JS SDK
        FB.init({
          appId      :'MIO_APP_ID',// App ID from the app dashboard
          status     :true,// Check Facebook Login status
          xfbml      :true// Look for social plugins on the page
        });
    
        // Additional initialization code such as adding Event Listeners goes here
      };
    
      // Load the SDK asynchronously
      (function(){
         // If we've already installed the SDK, we're done
         if(document.getElementById('facebook-jssdk')){return;}
    
         // Get the first script element, which we'll use to find the parent node
         var firstScriptElement = document.getElementsByTagName('script')[0];
    
         // Create a new script element and set its id
         var facebookJS = document.createElement('script'); 
         facebookJS.id ='facebook-jssdk';
    
         // Set the new script's source to the source of the Facebook JS SDK
         facebookJS.src ='//connect.facebook.net/it_IT/all.js';
    
         // Insert the Facebook JS SDK into the DOM
         firstScriptElement.parentNode.insertBefore(facebookJS, firstScriptElement);
       }());
    </script>
    Poi dove mi interessava mettere il bottone ho aggiunto
    codice:
    <fb:like href="http://www.sito.it"></fb:like>
    <script>
    FB.Event.subscribe('edge.create',function(href, widget) 
    {
       $.ajax({
         type:"POST",
         url:"clickSuLike.php",
         data:{'Utente':'Nome Cognome'},
        });
    });
    </script>
    E nel file clickSulLike.php ho messo
    codice:
    <?
    require './files/config.php';
    require './files/functions.php';
    mysql_query("UPDATE utente SET rep=rep+10 WHERE username='$_SESSION[valid_user]'") or die(mysql_error());
    ?>
    Il bottone si vede, ci clicco su e si apre una tendina che mi dice di pubblicare (che a me non serve, ma non è un grosso problema), in ogni caso:
    premo su pubblica e non succede niente;
    la rep nel db non viene aumentata;
    se provo a togliere il like non succede niente;
    se aggiorno la pagina è come se non avessi messo like.

  2. #2
    nessun errore javascript? la chiamata ajax è riuscita? da console del browser che succede?

  3. #3
    [COLOR=red !important]Uncaught ReferenceError: FB is not defined home.php?page=guide&act=ask:300[/COLOR]
    L'URL inserito non è consentito dalla configurazione dell'applicazione.: Uno o più degli URL inseriti non sono consentiti dalle impostazioni dell'applicazione. L'URL deve corrispondere a quello del Sito Web o della pagina principale dell'applicazione e il dominio deve essere un sottodominio di uno dei domini dell'applicazione.

    ---EDIT---
    Adesso nella pagina dell'applicazione ho messo
    App Domains: localhost
    Canavas URL: http://localhost/gpt/

    e ho modificato anche
    <fb:like href="http://localhost/gpt/"></fb:like>

    Risultato, in console è rimasto solo [COLOR=red !important]Uncaught ReferenceError: FB is not defined home.php?page=guide&act=ask:300[/COLOR] ma non si vede più il tasto
    Ultima modifica di frenkytribe; 23-11-2013 a 22:46

  4. #4
    ora ho visto che l'sdk viene caricato in modo asicrono, quindi quando lanci il codice probabilmente l'oggetto FB non è stato ancora istanziato, prova a fare così

    codice:
    <script>
    $(window).bind('fbAsyncInit', function() 
    {
      FB.Event.subscribe('edge.create',function(href, widget) 
      {
         $.ajax({
           type:"POST",
           url:"clickSuLike.php",
           data:{'Utente':'Nome Cognome'},
         });
      });
    });
    </script>

  5. #5
    Non capisco però perché ancora non riesco a vedere il tasto in locale, se lo uppo su un server si.

  6. #6
    forse perchè l'host è localhost... con localhost non funziona

  7. #7
    xD era una delle prime domande che avevo fatto, comunque più tardi ci provo. Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.