Инициализация клиента Oauth в python для API tumblr с помощью Python-oauth2

Я новичок в Oauth. Раньше для приложений twitter, написанных на Python, я использовал библиотеку python-oauth2 для инициализации клиента следующим образом:

consumer = oauth.Consumer(key = CONSUMER_KEY, secret = CONSUMER_SECRET)
token = oauth.Token(key = ACCESS_KEY, secret = ACCESS_SECRET)
client = oauth.Client(consumer, token)

Это было просто, потому что twitter предоставляет ключи и секреты CONSUMER и ACCESS. Но теперь мне нужно сделать то же самое для tumblr. Проблема в том, что tumblr предоставляет только CONSUMER_KEY, CONSUMER_SECRET и вот эти ссылки:

Request-token URL   http://www.tumblr.com/oauth/request_token
Authorize URL       http://www.tumblr.com/oauth/authorize
Access-token URL    http://www.tumblr.com/oauth/access_token

Используя эти данные, как я могу инициализировать клиента для доступа к API tumblr?

UPD

jterrace предложил код, который я уже пытался использовать. Проблема с ним заключается в oauth_callback. Если я его не указываю, api выдает ошибку "No oauth_callback specified", но если я указываю какой-нибудь url, например "http://example.com/oauthcb/" и перехожу по ссылке http://www.tumblr.com/oauth/authorize?oauth_token=9ygTF..., затем нажимаю кнопку Allow, tumblr не показывает страницу PIN-кода, а сразу перенаправляет на этот callback url, что бесполезно, так как это десктопное приложение. Почему PIN-код не отображается?

UPD 2

Tumblr API не поддерживает авторизацию по PIN-коду. Use xAuth instead - https://groups.google.com/group/tumblr-api/browse_thread/thread/857285e6a2b4268/15060607dc306c1d?lnk=gst&q=pin#15060607dc306c1d

7
задан clumpter 27 September 2011 в 18:08
поделиться