JavaScript登录后使用Facebook API

问题描述 投票:0回答:1

这是我一直想弄清楚的,但我不确定该怎么做。我有一个登录到Facebook的flex应用程序,但之后我无法访问任何facebook api。现在我使用这个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;
                        });

我不需要init,因为它是通过javascript登录完成的,对吧?我可能错了。

flex actionscript-3 facebook-graph-api
1个回答
0
投票

看起来您正在使用Flex SDK调用API。

这不会起作用,因为JS和Flex之间不共享令牌。

您应该在Flex端登录或者在JS中登录以进行呼叫。

© www.soinside.com 2019 - 2024. All rights reserved.