Frage

Ich habe mehrere Facebook wie Tasten auf mich, die über XFBML gemacht werden. Nach einem Klick auf sie, erscheinen sie an der Arbeit, dass sie von der Standard-Schaltfläche in den „Daumen hoch“ Symbol ändern, „Sie mögen diese“ sagt. Doch nach einer oder zwei Sekunden (ich nehme an die Zeit, die FB-Servern und kommen zurück zu schlagen nimmt), wird es automatisch unlikes selbst wieder in die ursprünglichen wie Taste drehen.

Video sehen, was ich meine hier.

Mein Code ist ziemlich 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> 

Edit: Für das, was es wert ist, ich auch versucht, ob Facebook alle Log-Informationen sendete, aber es schien nicht zu sein:

<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>
War es hilfreich?

Lösung

Nach viel zu graben, entdeckte ich schließlich die Quelle des Fehlers. Es stellt sich die Seite durch den href Wert in meinem fb:like Tag muss mindestens eine des fb:app_id oder fb:admins META-Tags im HEAD referenziert werden. Als Referenz: http://developers.facebook.com/docs/opengraph

Andere Tipps

Nachdem alle Lösungen versuchen, den ich finden konnte, keine Arbeit, aber ich versuchte, die „Live-Feed“ App-ID verwenden, anstatt der Standard „Live-Stream“, wenn Sie bekommen Ihren Code aus der Facebook-Entwickler-Seite, die gearbeitet für mich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top