Facebook应用程序权限

时间:2012-06-21 20:56:50

标签: javascript facebook flash

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

<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>

您的快速反应将非常值得注意 此致

1 个答案:

答案 0 :(得分:0)

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

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

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

此外,不公开您的变量也可能是问题。

另外,从我看到的,你没有任何按钮或文字输入?

如果没有,您需要创建它们。然后有一个单击处理程序,当文本输入中有文本时,它将激活一个单击处理程序,然后将转到提交后处理程序,然后进入一个获取状态处理程序,它将显示您已创建的新状态。我可能会说这一切都错了。毕竟,我没有在我的应用程序中使用Java。但这对我来说似乎是合乎逻辑的,这就是你要做的事情。试试我的第一个建议,然后再回复我。如果您愿意,请发送电子邮件至Shandan_Spencer@live.com,我可以为您提供更多帮助。