Überprüfen Sie, ob Sie: (einige von http://wiki.developers.facebook.com/index.php/Connect/Setting_Up_Your_Site#Referencing_Facebook_Connect_on_Your_Site)
- xd_receiver.htm erstellt haben und dass es im Stammverzeichnis Ihrer Domain liegt
- Den FeatureLoader.js.php am Anfang des BODY Ihres Dokuments eingefügt haben
- Das Javascript in der Frage (z. B. FB_RequiresFeatures usw.) am Ende Ihres Dokuments hinzugefügt haben
Ein Beispielcode, der derzeit in meiner App einwandfrei funktioniert:
window.onload = function() {
FB_RequireFeatures(["XFBML", "Connect"], function() {
FB.Facebook.init("...mein API-Schlüssel...","xd_receiver.htm");
FB.CanvasClient.syncUrl();
});
};
Sie können den "XFBML" aus dem FB_RequireFeatures-Aufruf weglassen und auch den Pfad zu xd_receiver.htm ändern, und es sollte funktionieren.
Zusätzlich sollten Sie überprüfen, ob die Connect-URL der Anwendung (wie im Developer-App in Facebook eingerichtet) auf ein übergeordnetes Verzeichnis der xd_receiver.htm-Datei verweist. Wenn Ihre App auf http://www.mydomain.com gehostet ist, wird Ihre xd_receiver.htm-Datei gemäß Ihren Codebeispielen unter http://www.mydomain.com/xd_receiver.htm liegen, und Sie möchten http://www.mydomain.com als Connect-URL haben.
Wenn dies immer noch nicht funktioniert, versuchen Sie, Firebug (oder ein ähnliches Tool) zu installieren, um den Netzwerkverkehr zu überprüfen. Als ich damit gearbeitet habe, ist die Facebook-Javascript-API still gescheitert, und erst durch Inspektion der Anfragen hin und her habe ich festgestellt, dass Facebook meine Connect-URL nicht mochte.
Um zu testen, ob alles funktioniert, wäre ich versucht,
FB.Connect.streamPublish();
anstatt der von Ihnen geposteten Zeile zu verwenden, da es einen Dialogfeld öffnen sollte und klar als funktionierendes Beispiel angegeben ist. Ich bin mir nicht sicher, was passieren wird, wenn Sie einfach einen leeren String als Argument übergeben.
Schließlich gibt es viele IFrame-basierte Facebook-Apps da draußen - wenn Sie eine sehen, die etwas macht, das Ihnen gefällt, können Sie immer deren Javascript-Code überprüfen, um herauszufinden, wie sie es erreicht haben. Mit anderen Worten, Facebook ist voller Beispielcode für IFrame-Apps.
0 Stimmen
Nur ein Tipp: Wenn Sie zum ersten Mal eine einfache App erstellen möchten, ist es viel einfacher, eine FBML-App anstelle einer iFrame-App zu erstellen.