Разрешение приложения Facebook

Привет. Я разработал приложение Facebook во Flash с использованием Action-script 3. Приложение работает нормально. Я разработал вход в Facebook и аутентификацию на JavaScript. Проблема в том, что пользователь не входит в 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>

Ваш быстрый ответ будет очень ценен С уважением


person Faisal    schedule 21.06.2012    source источник


Ответы (1)


Я не знаю, помогает это или нет. Но вместо вашего var PERMS = 'publish_stream , email, user_birthday';

Я считаю, что это должны быть состояния в виде массива, а затем вы должны указать свои разрешения.
Это работает для меня, поэтому я думаю, что это должно выглядеть так:

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

Кроме того, проблема может заключаться и в том, что ваши переменные не являются общедоступными.

Кроме того, насколько я вижу, у вас нет кнопок или ввода текста?

Если нет, вам нужно создать их. Затем у вас есть обработчик кликов, когда в текстовом вводе есть текст, он активирует обработчик кликов, который затем переходит к обработчику отправки сообщений, который затем переходит к обработчику получения статуса, который покажет вам новый статус, который вы создали. Я могу говорить все это неправильно. В конце концов, я не использую Java для своего приложения. Но мне кажется логичным, что именно это вы и сделали бы. Попробуйте мои первые предложения и вернитесь ко мне. Если вы предпочитаете, напишите мне по адресу [email protected], чтобы я мог вам помочь.

person Shandan Spencer    schedule 03.07.2012