我目前正在开发一个将在 iOS 上运行的 adobe air game (as3)。我正在尝试实现 facebook api(as3 的图形 api)。但我无法让它工作,甚至找不到可靠的教程。我已经设法弄清楚如何调用登录对话框。代码如下:
public final class LoadingFacebook extends Sprite
{
private const APP_ID:String = "47878787754564";
private const PERMISSIONS:Array = new Array("read_friendlists","publish_stream");
private var accessToken:String = "";
private var facebookWebView:StageWebView = new StageWebView();
public function LoadingFacebook()
{
FacebookMobile.init(APP_ID, initCallBack);
}
private function initCallBack(result:Object, fail:Object):void{
if(result == null){FacebookMobile.login(onFacebookInit,this.parent.stage,PERMISSIONS,facebookWebView)}
}
private function onFacebookInit(result:Object, fail:Object):void{
if(result == null){
trace("not logged in");
}else{
trace("logged in");
}
}
}
应用程序总是打印出(除了我的跟踪:“未登录”)此错误:
TypeError: Result of expression 'j' [undefined] is not an object.
at http://static.ak.fbcdn.net/rsrc.php/v2/y3/r/g8SHMmXU-df.js : 25
at http://static.ak.fbcdn.net/rsrc.php/v2/y3/r/g8SHMmXU-df.js : 25
我真的不知道这意味着什么以及为什么要打印出来。
此外,我想问一下这是否是正确的方法,或者我应该在 air 的本机扩展中使用本机 Graph iOS api,因为 as3 图形 API 已经过时并且似乎表现得有点错误和随机。