0

我正在尝试使用 flashbuilder 4.6 中的 adobe air 将 dropbox 集成到我的 BB Playbook 应用程序中。我从http://code.google.com/p/dropbox-as3/wiki/EXAMPLES获得了 API,我也在使用该示例。

public function getRequestToken():void
{
    dropAPI.requestToken();
    var handler:Function = function (evt:DropboxEvent):void
    {
            dropAPI.removeEventListener(DropboxEvent.REQUEST_TOKEN_RESULT, handler);
            var obj:Object = evt.resultObject;
            reqTokenKeyLabel.text = obj.key;
            reqTokenSecretLabel.text = obj.secret;
            // goto authorization web page to authorize, after that, call get access token 
            if (oauthRadioBtn.selected) {
                    Alert.show(dropAPI.authorizationUrl);
            }
    };
    dropAPI.addEventListener(DropboxEvent.REQUEST_TOKEN_RESULT, handler);
    if (!dropAPI.hasEventListener(DropboxEvent.REQUEST_TOKEN_FAULT)) {
            dropAPI.addEventListener(DropboxEvent.REQUEST_TOKEN_FAULT, faultHandler);
    }
}

这按预期执行,但我不知道如何更进一步,我尝试将用户发送到生成的链接并允许应用程序,但获取访问令牌仍然失败。我觉得缺少代码,我的应用程序如何知道访问令牌是什么?当用户允许应用程序时,我不应该从保管箱中取回一些东西吗?

4

1 回答 1

3

一旦用户在网络浏览器中接受了应用程序,您应该调用此函数以获取访问令牌和密码:

public function getAccessToken():void{

    dropAPI.accessToken();
    var handler:Function = function (evt:DropboxEvent):void{
        dropAPI.removeEventListener(DropboxEvent.ACCESS_TOKEN_RESULT, handler);
        var obj:Object = evt.resultObject;
        myAccessToken = obj.key;
        myAccessSecret = obj.secret;
    };
    dropAPI.addEventListener(DropboxEvent.ACCESS_TOKEN_RESULT, handler);
    if (!dropAPI.hasEventListener(DropboxEvent.ACCESS_TOKEN_FAULT)) {
        dropAPI.addEventListener(DropboxEvent.ACCESS_TOKEN_FAULT, faultHandler);
    }
}

拥有它们后,您可以保存它们以备将来使用。之后,您就与 Dropbox 建立了连接。

我希望这能帮到您

于 2012-05-08T13:58:06.490 回答