2013-05-14 44 views
1

我最近接管了對使用rauth連接至linkedin的應用程序的支持。發生故障的代碼是:Python rauth連接至linkedin

self.linkedin= OAuth1Service(              
     name='linkedin',               
     consumer_key=self._consumer_key,            
     consumer_secret=self._consumer_secret,          
     request_token_url=self.request_token_url,  
     access_token_url=self.access_token_url,   
     authorize_url=self.authorize_url)   

    self.request_token, self.request_token_secret = \ 
         self.linkedin.get_request_token(method='GET', 
         oauth_callback=self.callback_url) 

應用程序的所有者說,這用來工作,但現在我們得到:

類型錯誤:請求()得到了一個意想不到的關鍵字參數「oauth_callback」

你能指點我一些文件/例子,這將幫助我重新設計這個嗎?

-Jim

+0

您需要在'params'字典中傳遞迴調。 – maxcountryman 2013-05-14 13:45:26

回答

1

這聽起來像你正在使用rauth的版本比原來的作者是。您將需要修改代碼以符合rauth API中的更改。這些大部分都很小,部分需要遷移到Requests v1.0.0,其中API的許多重大變化。您可以閱讀upgrade guide。另外還有一些working examples

最後,這個特定的錯誤表明傳入了一個意外的參數,即oauth_callback。這是因爲rauth只是Requests的包裝。請求不知道如何處理oauth_callback。相反,你應該使用本地的請求API,並傳遞它,在這種情況下,通過params參數,例如:

linkedin = OAuth1Service(name='linkedin',               
         consumer_key=consumer_key,            
         consumer_secret=consumer_secret,          
         request_token_url=request_token_url,  
         access_token_url=access_token_url,   
         authorize_url=authorize_url)   

request_token, request_token_secret = \ 
    linkedin.get_request_token(method='GET', 
           params={'oauth_callback': callback_url}) 

希望幫助!