Facebook Actionscript API und Extended Permissions

Die Facebook Actionscript API ist schön und gut (sic!), aber sehr schlecht dokumentiert. Ein Beispiel? Die Klassen com.facebook.commands.stream.* existieren, stehen aber nicht in der Doku^^

Von daher hat es etwas gedauert, um das folgende Problem zu identifizieren: Wenn man sich per Connect bei Facebook einloggt, können Extended Permissions direkt beim Login abgefragt werden (Parameter req_perms). Die AS API bietet dies aber nicht an; in der Klasse com.facebook.session.DesktopSession (Funktion onLogin()) werden sie zwar verwendet, aber man kann keine eigene Auswahl festlegen. Also: Sourcen runterladen, ändern:

Der wichtige Punkt hier ist es, URLVariables zu verwenden!

Quelle, ich musste aber zwei Parameter entfernen, um es zum Laufen zu kriegen.

HTH

Eclipse: Kompilieren mit Apfel+Enter

Die Flash IDE ist Mist, da sind sich alle einig. Und in Eclipse/FDT (im Flash-Builder vermutlich auch) kompiliert man am Besten mit Ant. Aber: Wo man in der IDE mit Apfel+Enter (Mac, Windows: Strg+Enter) kompiliert, muss man in FDT immer die Maus bemühen, um Ant zu starten. Das kann man aber in den Voreinstellungen ändern: General -> Keys -> "Run Last Launched External Tool" auf Apfel+Enter gemapped, und schon startet diese Kombination das zuletzt verwendete Ant-Script!

Danke an Robert für den Tipp!

Youtube auf dem iPhone

Youtube empfiehlt zwar die Verwendung von swfobject, dann funktioniert's aber nicht auf dem iPhone - man sieht nix. Es gibt aber tatsächlich (XHTML-valide) Möglichkeiten, zB diese hier auf Learning the world. Man sieht dann das Preview-Bild, das einem auch zB in der youtube-Suche angezeigt wird. Bei Klick darauf öffnet sich die Youtube-App.

Mich würde allerdings mal interessieren, was man sieht, wenn man sich die Youtube-Videos auf diesem meinen Blog mit dem iPhone ansieht... verdammter Mist. Wieso haben wir eigentlich den IE6 überstanden, nur damit nun die nächste Firma anfängt, dem Web seine Extrawürste aufzuzwingen?? m(

Großartiges Blog

Troy Gilbert scheint mir auch über den letzten Beitrag hinaus ein äußert viel versprechendes Blog zu sein - Leseprobe gefällig?

shapes always get enter frame events, no stage required

How does EventDispatcher allocate new instances of your custom events? It calls the clone() method, which you’re supposed to override if you need those clones to be typed as your custom event. The default clone() returns a new Event instance. How about a clone() that didn’t allocate any memory? What if we returned this? [...] 7 ms vs. 83 ms That’s right, when you take the new out of dispatchEvent() it becomes 182x faster… 11.8x faster than a callback!

Nicht, dass ich das schon alles geprüft hätte. Erstmal freue ich mich über all solche kleinen Häppchen, die mir neu waren 🙂