好吧我正在編程一種方式來與Grooveshark接口(http://grooveshark.com)。現在我有一個類Grooveshark和幾個方法,一個獲得與服務器的會話,另一個獲取基於會話的令牌,另一個用於構建對服務器的API調用(以及其他使用該方法的方法)。現在,我用它像這樣....注意,即使第一要不然初始化,你必須調用兩個方法的類的其它方法後使用扭曲和tidefer在扭曲設計一個接口到網站api
g = Grooveshark()
d = g.get_session()
d.addCallback(lambda x: g.get_token())
## and then something like.... ##
g.search("Song")
我覺得這unpythonic和醜陋感將無法工作。爲了解決這個問題,我試圖獲取它,以便創建API調用的方法負責會話和令牌。目前,這兩種方法(會話和標記方法)設置類變量並不返回任何內容(以及無)。所以我的問題是,在與需要令牌和會話的網站進行接口時,是否有一個常用的設計?另外,令牌和會話是從服務器中檢索,所以我不能讓他們在初始化方法運行(因爲它會阻止或由API調用之前可能無法完成)
我認爲你的問題的標題有點誤導。我讀過它,並認爲你正在設計一個用戶界面到現有的api(類似api.jquery.com),而不是構建一個API。 – 2010-08-10 00:16:07