adobe air と flash pro を使用してモバイルアプリ (Android と IOS) を作成しています。これは、Facebook API を使用する最初の試みです。私が抱えている問題(私は思う)は、ログインボタンが押された後にfacebookMobile.loginメソッドが何も返さないことです。つまり、ログインまたはログイン失敗のトレースメッセージが表示されません。少なくともログイン失敗メッセージが表示されていれば、少なくとも onLogin 関数が呼び出されていることがわかります。以下は私のas3クラスです
package {
import flash.display.MovieClip;
import flash.media.*;
import flash.media.Camera;
import flash.media.CameraUI;
import flash.events.Event;
import flash.events.*;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;
import flash.display.Sprite;
import com.facebook.graph.FacebookMobile;
//import com.facebook.graph.windows;
public class Main extends MovieClip {
private var logInBtn:LogIn = new LogIn();
private var vidCon:Video = new Video();
static const APP_ID:String = "1234512345";
protected var extendedPermissions:Array = ["publish_stream","user_website","user_status","user_about_me"];
public function Main() {
// constructor code
trace("main loaded");
Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
FacebookMobile.init(APP_ID, onInit);
}
public function onInit(success:Object, fail:Object):void{
if (success){
trace("Already logged in");
}
else{
trace("Not logged in");
addChild(logInBtn);
logInBtn.x = logInBtn.y =200;
logInBtn.addEventListener(TouchEvent.TOUCH_BEGIN, logInbtnPressed);
}
}
private function logInbtnPressed(e:TouchEvent){
removeChild(logInBtn);
FacebookMobile.login(onLogin,stage, extendedPermissions);
}
//--the below function dosnt seem to be getting called--
public function onLogin(success:Object, fail:Object):void{
if (success){
trace("Logged In\n");
loggedIn();
}
else{
trace("Login Failed\n");
}
}
public function onLogout(success:Boolean):void {
trace("Log out");
}
}
どんな洞察も大歓迎です。