2013-05-14 46 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}) 

希望帮助!