Python rauth连接到linkedin

时间:2013-05-14 12:56:56

标签: python linkedin rauth

我最近接受了使用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)

应用程序的所有者说这曾经有用,但现在我们得到了:

TypeError:request()得到了一个意外的关键字参数'oauth_callback'

你能指点一些能帮助我重新构建这个的doc / examples吗?

-Jim

1 个答案:

答案 0 :(得分:1)

听起来你正在使用比原作者更晚的版本。您需要修改代码以符合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})

希望有所帮助!