私は、Adobe Facebook Graph Api に簡単にアクセスできるようにするクラスを作成しようとしています。メイン test.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」だけです
誰でも助けることができますか?これは可能ですか?ありがとう!