Actionscript(AIR)无法从HTMLLoader返回FB access_token

时间:2013-06-22 22:59:16

标签: actionscript-3 flash facebook-graph-api air facebook-access-token

我只是试图让我的用户使用HTMLLoader从FB访问令牌。当我跟踪位置更改事件的输出时,我得到的是Google / FB网址,其中没有一个包含令牌。

这是我的代码:

var loader:HTMLLoader;

function onChange(e:Event):void {
    if(loader.location.indexOf("#") != -1) {
        trace("Found token");
    }else {
        trace(loader.location);
    }
}

function connectFb() {
    loader = new HTMLLoader();
    loader.addEventListener(Event.LOCATION_CHANGE, onChange);
    loader.width = 640;
    loader.height = 480;
    loader.load(new URLRequest("https://graph.facebook.com/oauth/authorize?  
    client_id=1234567890123456&redirect_uri=http://google.com&type=user_agent"));
}

我的代码输出:

https://graph.facebook.com/oauth/authorize?client_id=164534120383085&redirect_uri=http://google.com&type=user_agent
http://www.google.com/

我尝试了网上的每个教程,甚至在AS3 facebook dev& amp;上买了一本书。仍然无法弄清楚这一点;任何帮助都会非常感激,因为这对我来说是一个相当重要的项目

1 个答案:

答案 0 :(得分:0)

根据我的理解,您正在尝试从facebook API检索oauth访问令牌,对吧?您希望从该网址返回的内容是什么?如果我错了,请纠正我,但HTMLLoader用于(毫不奇怪)加载HTML内容。如果您需要HTML内容(即FB中的“授权”页面),则需要将HTMLLoader添加到显示列表中:

addChild(loader); // where 'loader' is an instance of HTMLLoader

另一方面,如果您只期望令牌(而不是HTML内容),那么您应该使用URLLoader,而不是HTMLLoader。