2013-03-28 62 views
0

我在web2py中使用dropbox會話時遇到困難。這裏是我的2種方法的默認控制器:web2py dropbox集成

def index(): 
    APP_KEY = 'XXXXXXXXXXX' 
    APP_SECRET = 'XXXXXXXXXXX' 
    ACCESS_TYPE = 'dropbox' 
    sess = dropbox.session.DropboxSession(APP_KEY, APP_SECRET, ACCESS_TYPE) 
    request_token = sess.obtain_request_token() 
    url = sess.build_authorize_url(request_token, "http://localhost:8000/dropbox/default/welcome") 
    redirect(url) 

def welcome(): 
    ## How do I get the session object here?? 
    access_token = sess.obtain_access_token(request_token) 
    client = dropbox.client.DropboxClient(sess) 
    return dict(message=T("Welcome user!" + client.account_info())) 

我一直在使用current.session試過了,也試過緩存會話,但它並沒有爲我工作。

有人可以提供一些關於如何在索引方法中保存dropbox會話,並能夠在其他方法/控制器中使用它的幫助。代碼示例將非常感謝。

謝謝。

回答

0

你可以把模型是這樣的(未經測試),所以dropbox_session將成爲適用於所有控制器...

def __make_dropbox_connection(): 
    sess = dropbox.session.DropboxSession(APP_KEY, APP_SECRET, ACCESS_TYPE) 

    print("DROPBOX Connection established ...") 
    return sess 

## 
dropbox_sess = cache.ram('dropbox',__make_dropbox_connection,None) 
+0

謝謝您的回答。我能夠找到保存請求令牌和Dropbox會話而不使用緩存的另一種方式。我的第二個問題是web2py會話和current.session有什麼區別。你在current.session中存儲的變量是否持久? – 2013-03-31 01:32:15