Actionscript 3 Facebook登录在单击登录后未调用登录功能

Actionscript 3 Facebook登录在单击登录后未调用登录功能,actionscript-3,flash,facebook-graph-api,air,facebook-login,Actionscript 3,Flash,Facebook Graph Api,Air,Facebook Login,我正在使用AdobeAIR和flash pro制作一个移动应用程序(Android和IOS)。这是我第一次尝试使用facebook api。我的问题(我想)是facebookMobile.login方法在按下登录btn后没有返回任何内容,即我没有收到登录或登录失败的跟踪消息。如果我至少得到一个登录失败消息,至少我知道正在调用onLogin函数。下面是我的as3课程 package { import flash.display.MovieClip; import flash.media.*;

我正在使用AdobeAIR和flash pro制作一个移动应用程序(Android和IOS)。这是我第一次尝试使用facebook api。我的问题(我想)是facebookMobile.login方法在按下登录btn后没有返回任何内容,即我没有收到登录或登录失败的跟踪消息。如果我至少得到一个登录失败消息,至少我知道正在调用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");
    }
}

如果您有任何见解,我将不胜感激。

我找到了在facebookMobile.login调用中添加web视图所需的解决方案

private var  webView = new StageWebView();
webView.stage = stage;
webView.viewPort = new Rectangle(10, 10, (stage.stageWidth -20), (stage.stageHeight - 20));
FacebookMobile.login( onLogin , this.stage, extendedPermissions, webView);

你把FB上的一切都安排好了吗?你有有效的应用程序id吗?是的,我在沙盒模式下设置了一个应用程序。我更改了在这里发布的应用程序id,但在我的类中有正确的应用程序id