Adobe Air и Dropbox

Я пытаюсь интегрировать Dropbox в свое приложение BB Playbook с помощью Adobe Air в flashbuilder 4.6. Я получил API от http://code.google.com/p/dropbox-as3/wiki/EXAMPLES, и я тоже использую этот пример.

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);
    }
}

Это выполняется, как ожидалось, но я не знаю, как пойти дальше, я попытался отправить пользователя по сгенерированной ссылке и разрешаю приложение, но получить токен доступа все равно не удается. Мне кажется, что код отсутствует, как мое приложение узнает, что это за токен доступа? я не должен получать что-то обратно из Dropbox, когда пользователь разрешает приложение?


person Tw1tCh    schedule 02.05.2012    source источник


Ответы (1)


После того, как пользователь принял приложение в веб-браузере, вы должны вызвать эту функцию, чтобы получить токен доступа и секрет:

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.

Я надеюсь, что это поможет вам

person Eduardo    schedule 08.05.2012
comment
Я не понимал, что могу спасти сами жетоны. Мне придется попробовать и, возможно, выпустить еще одно обновление для моего приложения, спасибо. - person Tw1tCh; 11.05.2012