2012-06-21 137 views
0

您好我已经开发了一个使用动作脚本3在Flash中的Facebook应用程序。该应用程序工作正常。我在JavaScript中开发了Facebook登录和身份验证。问题是,用户没有登录到Facebook的应用程序工作正常,提供用户登录面板和应用程序权限面板和发布在用户墙上的欲望的东西,但如果用户已经登录比JavaScript不会要求Facebook应用程序的权限,因此该应用程序不会发布在用户墙上。我的JavaScript代码是Facebook的应用权限

<script type="text/javascript"> 
    var APP_ID = "xxxxxxxxxxxxxxx"; 
    var REDIRECT_URI = "http://apps.facebook.com/engel-tanimiyorum/"; 
    var PERMS = 'publish_stream , email, user_birthday'; //comma separated list of extended permissions 

    function init() 
    { 
     FB.init({appId:APP_ID, status: true, cookie: true, oauth: true}); 
     FB.getLoginStatus(handleLoginStatus); 
    } 

    function handleLoginStatus(response) 
    { 
     if (response.authResponse && response.status=="connected") 
     { 

      //Show the SWF 
      $('#ConnectDemo').append('<h1>You need at least Flash Player 9.0 to view this page.</h1>'); 
      swfobject.embedSWF("index.swf", 
       "ConnectDemo", "803", "516", "9.0", null, null, null, {name:"ConnectDemo"}); 

     } 
     else 
     { 
      var params = window.location.toString().slice(window.location.toString().indexOf('?')); 
      top.location = 'http://graph.facebook.com/oauth/authorize?client_id=' 
       +APP_ID 
       +'&scope='+PERMS 
       +'&redirect_uri=' + REDIRECT_URI 
       + params; 



     } 


    } 
    $(init); 
</script> 

此致快速反应将是非常可观的 问候

回答

0

我不知道如果这有助于与否。但不是你的 var PERMS ='publish_stream,email,user_birthday';

我相信它应该是状态作为一个数组,然后你会列出你的权限。
它适用于我,所以我认为它应该是这样的:

public var PERMS:Array = [“publish_stream”,“email”,“user_birthday”];

另外,没有公开你的变量也可能是问题。

另外,从我所看到的,您没有任何按钮或文本输入?

如果不是,您需要创建这些。然后有一个点击处理程序,当文本输入中有文本时,它将激活一个点击处理程序,然后它将转到提交处理程序,然后转到获取状态处理程序,该处理程序会显示您创建的新状态。我可能会说这一切都是错误的。毕竟,我没有为我的应用程序使用Java。但对我来说,这似乎是合乎逻辑的,那就是你会做的。试试我的第一个建议,并回到我身边。如果你愿意,给我发电子邮件[email protected],所以我可以帮助你更多。