2012-05-02 259 views
0

我正嘗試在Flashbuilder 4.6中使用Adobe AIR將Dropbox整合到我的BB Playbook應用程序中。我從http://code.google.com/p/dropbox-as3/wiki/EXAMPLES獲得了API,我也在使用該示例。Adob​​e Air和Dropbox

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

這按預期執行,但我不知道該怎麼走的更遠,我試圖發送用戶生成的鏈接和我允許應用程序,但可以訪問令牌仍然失敗。我覺得缺少代碼,我的應用程序如何知道訪問令牌是什麼?當用戶允許應用程序時,我是否應該從保管箱中取回某些東西?

回答

3

一旦用戶接受的Web瀏覽器應用程序,你應該調用這個函數,以獲得訪問令牌和祕密:

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建立連接。

我希望這會幫助你

+0

我沒有意識到我可以自己保存令牌。我將不得不嘗試一下,並可能爲我的應用程序發佈另一個更新,謝謝。 – Tw1tCh