Использование API Facebook после входа в JavaScript - PullRequest
0 голосов
/ 09 сентября 2011

Это то, что я пытался выяснить, но я не уверен, как именно это сделать.У меня есть гибкое приложение, которое входит в Facebook, но после этого я не могу получить доступ к API Facebook.Прямо сейчас я использую этот HTML-код для входа в систему:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
    <!-- Include support librarys first -->
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
    <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>     
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

    <script type="text/javascript">
        //This example uses the javascript sdk to login before embedding the swf

        var APP_ID = "[My App ID Here]";            
        var REDIRECT_URI = "http://apps.facebook.com/isotesthoskins/";      

        var PERMS = "publish_stream,offline_access"; //comma separated list of extended permissions

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

        function handleLoginStatus(response) {
            if (response.session) { //Show the SWF                                      

                //A 'name' attribute with the same value as the 'id' is REQUIRED for Chrome/Mozilla browsers
                swfobject.embedSWF("isotest.swf", "flashContent", "760", "500", "9.0", null, null, null, {name:"flashContent"});

            } else { //ask the user to login                    

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

            }
        }
        $(init);
    </script>

И все регистрируется нормально, но когда я пытаюсь сделать это в приложении после входа в систему, ничего не происходит.

Facebook.api("/me", function(response){
                            changeText.text = response.name;
                        });

Мне не нужно инициализироваться, потому что это было сделано при входе в систему через JavaScript, верно?Хотя я могу ошибаться.

1 Ответ

0 голосов
/ 09 сентября 2011

Похоже, вы вызываете API с помощью Flex SDK.

Это не сработает, поскольку токен не распределяется между JS и Flex.

Вы должны войти в систему со стороны Flex или подключиться к JS, чтобы совершить вызов.

...