diff --git a/liclient/__init__.py b/liclient/__init__.py index e0b3c86..f97ac8d 100644 --- a/liclient/__init__.py +++ b/liclient/__init__.py @@ -34,7 +34,7 @@ def __init__(self, ck, cs): 'JGRP', 'PICT', 'RECU', 'PRFU', 'QSTN', 'STAT'] - def get_request_token(self): + def get_request_token(self, redirect_url=None): """ Get a request token based on the consumer key and secret to supply the user with the authorization URL they can use to give the application @@ -42,8 +42,13 @@ def get_request_token(self): """ client = oauth.Client(self.consumer) request_token_url = self.base_url + self.request_token_path - - resp, content = client.request(request_token_url, 'POST') + + if redirect_url: + resp, content = client.request(request_token_url, 'POST', + body="oauth_callback=%s" % urllib.quote_plus(redirect_url), + headers={'Content-Type': 'application/x-www-form-urlencoded'}) + else: + resp, content = client.request(request_token_url, 'POST') request_token = dict(urlparse.parse_qsl(content)) return request_token