我正在尝试创建一个类,使访问 Adobe Facebook Graph Api 变得更容易,而无需进入所有细节。这就是我的做法:我有一个 FbNewLib.as 和一个 Test.as 以及主要测试.fla。
在 FbNewLib.as 中,我有初始化 Facebook api 的 init 行。
package
{
import com.facebook.graph.Facebook;
import com.facebook.graph.data.FacebookSession;
import flash.external.ExternalInterface;
public class FbNewLib
{
protected static const app_id:String = "155006914551234" //replace with App Id;
public var scope:String;
public var userId:String;
public var testString:String;
var session:FacebookSession;
public function FbNewLib()
{
trace("FbNewLib initiated.")
}
public function initFacebookLib(scopeString:String):void
{
scope = scopeString;
testString = "testString";
Facebook.init(app_id, onInit);
}
protected function onInit(result:Object, fail:Object):void
{
trace("onInit");
testString = "testStringONINIT";
if (result)
{ //already logged in because of existing session
trace ("On init, already logged in.");
testString = "testStringSUCCESSFUL";
session = Facebook.getSession();
userId = session.uid;
}
else
{
trace("On init, not logged in.");
testString = "testStringUNSUCCESSFUL";
}
}
在我的 Test.as 中:
public function Test()
{
trace("connected to test.fla");
init_btn.addEventListener(MouseEvent.CLICK, initFbLib);
}
private function initFbLib(e:MouseEvent):void
{
gotoAndStop(2);
var fb:FbNewLib = new FbNewLib();
fb.initFacebookLib("read_stream");
textBox_txt.text = fb.scope + " " + fb.userId + " " + fb.testString;
}
但是,当我在 Facebook 的 testApp 中的 testApp 中对其进行测试时,Facebook.init() 不起作用。textbox_txt 中的内容只是“read_stream, null, testString”
任何人都可以帮忙吗?这甚至可能吗?谢谢!