0

我只是想使用 HTMLLoader 从 FB 获取我的用户访问令牌。当我跟踪位置更改事件的输出时,我得到的只是 Google/FB url,它们都没有令牌。

这是我的代码:

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 的书,但仍然无法弄清楚;任何帮助将不胜感激,因为这对我来说是一个相当重要的项目

4

1 回答 1

0

据我了解,您正在尝试从 facebook API 检索 oauth 访问令牌,对吗?这就是您期望从该 URL 获得的信息?如果我错了,请纠正我,但 HTMLLoader 用于(不出所料)加载 HTML 内容。如果您期待 HTML 内容(即来自 FB 的“授权”页面),那么您需要将 HTMLLoader 添加到显示列表中:

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

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

于 2013-06-23T20:18:23.693 回答