I just went through this tut: http://www.adobe.com/devnet/facebook/articles/deploy_your_first_facebook_app.html about deploying flash facebook apps. I followed it exactly and it didn’t work correctly. I thought it might be me, but I downloaded the sample files and got the same result.
Here’s the link to the app: http://www.facebook.com/apps/application.php?id=314198047446 It shouldn’t let you see it without logging in and saying allow. Instead it lets you go right to it and doesn’t connect. Please see the code below and let me know if you have any suggestions.
Thanks!
package{
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.text.TextField;
//fb classes
import com.facebook.Facebook;
import com.facebook.utils.FacebookSessionUtil
import com.facebook.net.FacebookCall;
import com.facebook.commands.users.GetInfo;
import com.facebook.data.users.GetInfoFieldValues;
import com.facebook.events.FacebookEvent;
import com.facebook.data.users.FacebookUser;
import com.facebook.data.users.GetInfoData;
public class Main extends MovieClip{
private var fbook:Facebook;
private var session:FacebookSessionUtil;
private var user:FacebookUser;
public function Main(){
btn1.visible = false;
session = new FacebookSessionUtil("", "", stage.loaderInfo);
fbook = session.facebook;
session.addEventListener(FacebookEvent.CONNECT, onFbConnect);
if(loaderInfo.parameters.fb_sig_session_key){
session.verifySession();
}else{
session.login();
btn1.visible = true;
btn1.addEventListener(MouseEvent.CLICK, confirmLogin);
}
}
private function confirmLogin(e:MouseEvent):void{
this.removeChild(btn1);
session.validateLogin();
}
private function onFbConnect(e:FacebookEvent):void{
if(e.success){
var fbCall:FacebookCall = fbook.post(new GetInfo([fbook.uid], [GetInfoFieldValues.ALL_VALUES]));
fbCall.addEventListener(FacebookEvent.COMPLETE, onGetInfo);
}else{
text_txt.text = "error";
}
}
private function onGetInfo(e:FacebookEvent):void{
user = (e.data as GetInfoData).userCollection.getItemAt(0) as FacebookUser;
text_txt.text = user.name;
}
}
}
