Facebook访问令牌-从Javascript获取后在Flash中使用

Facebook访问令牌-从Javascript获取后在Flash中使用,javascript,facebook,flash,Javascript,Facebook,Flash,我是Facebook开发的新手,我正在尝试学习如何使用Adobe提供的AS3 Facebook API,但我遇到了一些问题 主要问题是我正在通过Javascript进行身份验证。我成功获取访问令牌并通过ExternalInterface将其发送到我的Flash应用程序。问题在于,既然我已经通过JS进行了身份验证,我不明白如何在Flex中开始使用Facebook API 我尝试使用Facebook.init方法,但回调从未触发。这是我在确保与Facebook的会话连接成功后使用的: init(AP

我是Facebook开发的新手,我正在尝试学习如何使用Adobe提供的AS3 Facebook API,但我遇到了一些问题

主要问题是我正在通过Javascript进行身份验证。我成功获取访问令牌并通过ExternalInterface将其发送到我的Flash应用程序。问题在于,既然我已经通过JS进行了身份验证,我不明白如何在Flex中开始使用Facebook API

我尝试使用Facebook.init方法,但回调从未触发。这是我在确保与Facebook的会话连接成功后使用的:

init(APP_ID,callback,null,accessToken)

null值是options参数,它是可选的,accessToken值是从Javascript检索到的,它是有效的。但正如我之前所说的,回调从未触发


老实说,在我通过Javascript完成OAuth过程后,我不知道这是否是开始在Flash中工作的方法,因此非常感谢您的帮助。

最终解决了这个问题

在我的Flash应用程序中,我添加了一个要传递给init方法的选项对象,如下所示:

变量_选项:*={channelUrl:CHANNEL_URL, 状态:false, oauth:true}

因此,我的init如下所示:

init(APP_ID、callbackMethod、options、validAccessToken)

不确定对象中是否所有属性都是必需的,但它起作用了

在HTML中,我使用了以下嵌入方法(因为其他一些方法似乎会导致问题):

var flashvars={}; var params={}; var属性={}; params.allowscriptaccess=“始终”; 嵌入swf(“NestleEaster.swf”、“myAlternativeContent”、“743”、“743”、“9.0.0”、flashvars、参数、属性,{name:“flashContent”});
差不多就是这样。现在我可以在Flash应用程序中自由使用API了。希望这能帮助其他人。

您是否使用Charles或其他调试代理来查看是否从Facebook收到错误响应?您的应用程序设置是否配置为使用OAuth 2.0?至少在Javascript中,我可以看到很好的响应。我甚至在提醒Flash之前发出了一个“/me”请求,响应对象拥有所有正确的用户信息。在JS中,我还将oauth设置为true。但是Flash中的init方法不会触发回调。我甚至看不出我是否得到了一个失败的对象。而且,我没有从Flash中得到任何错误。