Я новичок в 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