Domanda

Ho diversi Facebook come i pulsanti su me stesso che vengono resi attraverso XFBML. Dopo aver cliccato su di loro, sembrano lavorare in che cambiano dallo standard pulsante mi piace in "pollici in su" icona che dice "Tu come questo". Tuttavia, dopo un paio di secondi (Suppongo che il tempo necessario per colpire i server di FB e tornare), si dissimili automaticamente, tornare indietro nel originale pulsante mi piace.

vedere un video di quello che voglio dire qui.

Il mio codice è abbastanza standard:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en">

...

<fb:like href="http://www.example.com/valid/path" layout="button_count" ref="recipe_preview" />

...

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
        });
    };
</script>

...

<div id="fb-root"></div>
<script type="text/javascript"> 
    window.fbAsyncInit = function() {
        FB.init({
            appId:  'XXXXXXXXXX',  // my app ID is here
            status: true,
            cookie: true,
            xfbml:  true
        });
        if (typeof(fbAsyncInitExt) == 'function') {
            fbAsyncInitExt();
        }
    };
    (function() {
        var e = document.createElement('script');
        e.type = 'text/javascript';
        e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
        e.async = true;
        document.getElementById('fb-root').appendChild(e);
    })();
</script> 

Modifica Per quello che vale, ho anche cercato di vedere se Facebook è stato l'invio di qualsiasi informazione di registro, ma non sembrano essere:

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
            console.debug(response);
        });
        FB.Event.subscribe('fb.log', function(response) {
            alert('LOG: ' + response);
            console.debug(response);
        });
    };
</script>
È stato utile?

Soluzione

Dopo un sacco di scavare, ho finalmente scoperto l'origine dell'errore. Si scopre nella pagina a cui fa riferimento il valore href nel mio tag fb:like richiesto almeno uno dei fb:app_id o fb:admins META tag nella testa. Per riferimento: http://developers.facebook.com/docs/opengraph

Altri suggerimenti

Dopo aver provato tutte le soluzioni che ho trovato, nessun lavoro, ma ho provato ad utilizzare il "Live Feed" ID applicazione, piuttosto che il "Live Stream" di default quando stai ricevendo il codice dalla pagina sviluppatori di Facebook, che ha funzionato per me.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top