我最近接管了一个使用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“”
你能给我一些文档/例子来帮助我重新架构这个吗?
-Jim
发布于 2013-05-14 22:14:17
听起来您使用的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})希望这能有所帮助!
https://stackoverflow.com/questions/16543813
复制相似问题