Facebook SDK

22. September 2011

Ein paar Probleme, auf die ich mit der neuen Facebook SDK oder ganz generell gestoßen bin und die dazugehörigen Lösungen:

getSignedRequest – nach dem Betätigen des zurück Buttons geht das nicht mehr. Hat der User “gefällt mir” geklickt oder nicht?

Vielleicht ist getSignedRequest veraltet. Vielleicht ist es verbuggt. Vielleicht habe ich es falsch benutzt. Es ist mir EGAL. Es hat mich Nerven gekostet und jetzt habe ich das ganze anders gelöst:

  1. $isFan = file_get_contents("https://api.facebook.com/method/pages.isFan?format=json&access_token=" . $fb->getAccessToken() . "&page_id=SEITENID");
  2. if( $isFan == "true"){
  3. //der User hat die Seite 'geliked'
  4. }else{
  5. //der User hat noch nicht auf 'gefällt mir' geklickt
  6. }

Wichtig dabei ist, dass der Inhalt von $isFan tatsächlich ein String ist. if($isFan) sowie if($isFan == true) führen NICHT zu einem richtigen Ergebnis!

Safari auf Mac OS X macht überhaupt komische Sachen

Offenbar hat Mac OS X mal wieder den Vogel abgeschossen. Via Ajax aufgerufene Seiten werfen konsequent Fehler aus, weil sie mit $facebook->getUser() und allen anderen Facebook anfragen nicht klarkommen. Ich hatte irgendwann keinen Bock mehr und habe das ganze schon beim Aufruf meiner Ajax Funktion gelöst:

  1. $.post("vote.php", {id:123, fbUser: '<!--? echo $fb--->getUser(); ?>', at: '<!--? echo $fb--->getAccessToken(); ?>'} , function(r){ ... });

Damit gebe ich userID und, weil ich schon dabei bin, accesstoken auch gleich mit. Dann kanns mir schnurz sein, ob Safari rumzickt oder nicht.

Wie komme ich an den Usernamen ?

Dann würd ich für den Wallpost auch ganz gern wissen, wie mein Facebook User so heißt. Früher hab ich das mit $fb->api(“/me”) gemacht, aber auch das wollte mit der neuen SDK nciht mehr so recht. Deshalb die neue Version:

  1. $name = json_decode(file_get_contents('http://graph.facebook.com/'.$fbUser))->name;

…Fazit…
In den letzten Stunden frustrierender Recherche hat sich Facebook auf den zweiten Platz meiner Hassliste hochgekämpft und wird damit nur noch übertrumpft von Typo3. Mal sehn, ob es bald einen neuen Spitzenreiter gibt….

WordPress Template Aktualisierungen werden nicht wirksam

21. September 2011

Das hat mich grad eine Stunde Arbeitszeit und MINDESTENS 10 Jahre meines Lebens gekostet. Ich hatte ein neues WordPress Template namens “Abstimmung” erstellt und einer Seite zugewiesen. Und plötzlich, wie aus dem Nichts, was die Arbeit von Stunden verschwunden und die Seite wieder auf einem alten Stand. Und egal, was ich tat, egal, wie oft ich mein Template hochgeladen und geändert habe, nichts fruchtete. Ich war schon soweit, beim Webspace Anbieter anzurufen und nachzufragen, ob es technische Schwierigkeiten gibt.
Bis mir plötzlich etwas auffiel. Ich hatte vor einer Weile eine Kopie des Templates gemacht, um einen alten Stand zur Verfügung zu haben, eine Datei namens “template-abstimmung Kopie.php”. Und diese Datei hatte ich im Arbeitsprozess gedankenlos mit hochgeladen. Und plötzlich gab es zwei Templates namens “Abstimmung”, denn auch die Kopie hatte ja diesen Namen. Im Backend schien aber nur einmal “Abstimmung” auf, darum habe ich es auch nicht gemerkt… und das ncähste Speichern speicherte dann natürlich genau das falsche Template.
Also, wenn sich WordPress Templates unerklärlicherweise plötzlich nciht mehr aktualisieren – kontrollieren, ob man nicht versehentlich ne Kopie erzeugt hat!

Ungewollter Bildabstand

08. September 2011

Wenn ich ein Bild von einem Link unschließe, entsteht eine merkwürdige kleine Lücke, der Link wird höher als das eigentliche Bild. Um dies loszuwerden, gibt man dem Bild um das es geht ein display:block mit.