2

首先抱歉,如果我弄错了,这是我的第一篇文章。

我一直在构建一个 Android 游戏,并且一直在尝试将 Facebook 发帖集成到其中。以下是技术细节:

  • Windows 7的
  • 在 FDT 中开发
  • 使用适用于 Android 的 Flex 4.6 和 Adob​​e Air
  • 动作脚本 3.0。

我已插入 FacebookMobile.init 并传入我的应用程序 ID 和回调函数。但是我收到以下消息:

"{"error":{"message":"必须使用活动访问令牌来查询当前用户的信息。","type":"OAuthException","code":2500}}"

我注意到在其他一些页面上,人们在没有真正解决方案的情况下购买了这个。我已经尝试过在另一个站点上找到的 damarmada 解决方案,但这也不起作用。

谢谢你的时间,

4

4 回答 4

1

对我来说它的工作。这就是我所做的。

1,我使用 facebook 应用程序设置页面中的“添加平台”按钮为我的应用程序添加了 android 平台。
2、我下载了源码,用它代替了swc。
3,在 facebook 应用程序设置页面中,转到设置 -> 高级并将http://www.facebook.com/connect/login_success.html添加到“有效 OAuth 重定向 URI”字段中。并设置“本机或桌面应用程序?” “是”。现在我的应用程序会将 facebook 登录页面加载到 StageWebView 中,我们可以在那里登录。这就是我登录的方式。

var permissions:Array = ["user_about_me","user_friends","publish_actions"];
var stageWeb:StageWebView = new StageWebView ();
stageWeb.stage = stage;// Your app stage
stageWeb.viewPort = new Rectangle (0, 0, stage.stageWidth, stage.stageHeight);
FacebookMobile.login (onLogin, stage, permissions, stageWeb);

希望这对你也有帮助。

于 2015-04-16T14:14:55.420 回答
0

解决方案 !!

private function onAddedToStage(event:Event):void
{
    FacebookMobile.init(_appId, initHandler);
}   
private function initHandler(success:Object,fail:Object):void
{
    if(success)         
{               
    // good the user is already connected           
}           
else            
{
    var myWebView:StageWebView = new StageWebView();
    myWebView.stage = Starling.current.nativeStage;
    myWebView.viewPort = new Rectangle(0,0,stage.stageWidth,stage.stageHeight);
    FacebookMobile.login(loginHandler, Starling.current.nativeStage, PERMISSIONS, myWebView);
    }       
}

来自:http ://forums.adobe.com/thread/928058

于 2012-12-29T19:13:26.333 回答
0

听起来您的应用程序尚未登录,或者如果您使用 SingleSignOn,则 Facebook 应用程序未登录。登录为您/Facebook 应用程序提供了一个访问令牌,然后您在请求数据时提供该令牌。

于 2012-06-13T19:33:56.683 回答
0

更新 我现在相信您将 FacebookMobile.login() 放在错误的位置。将它添加到 FacebookMobile.init() 的处理程序中,理想情况下,在某种else测试下,成功对象是否返回 null(当您未初始化时它会返回 null)。

您仍然可以使用以下内容,尽管 facebook-actionscript-api 似乎确实有效。

为了让自己更简单,建议遵循“Windows、OS X 和 Linux 原生应用程序”标题下的建议:https ://developers.facebook.com/docs/authentication/

根据该文档的最后一行,使用 StageWebView ( http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/StageWebView.html ) 并监听 StageWebView locationChange 事件。

随心所欲地处理位置重定向 uri,但这里的关键是他们为您提供的带有访问令牌 (https://www.facebook.com/connect/login_success.html) 的默认值,从 url 获取访问令牌使用 StageWebView 位置属性,一旦它在您的应用程序中,您就可以轻松创建自己的 URLRequest 并按照您的远程服务使用它。

最好的,如果你有更好的方法,请评论。

于 2012-09-27T09:10:31.350 回答