Итак, есть код, который использует аутентификацию xAuth для вызова методов tumblr API:
import urllib
import urlparse
import oauth2 as oauth
consumer_key = "..."
consumer_secret = "..."
consumer = oauth.Consumer(consumer_key, consumer_secret)
client = oauth.Client(consumer)
resp, content = client.request('https://www.tumblr.com/oauth/access_token', "POST", urllib.urlencode({
'x_auth_mode': 'client_auth',
'x_auth_username': '...@yandex.ru',
'x_auth_password': '...'
}))
token = dict(urlparse.parse_qsl(content))
print token
token = oauth.Token(token['oauth_token'], token['oauth_token_secret'])
client = oauth.Client(consumer, token)
response, data = client.request('http://api.tumblr.com/v2/blog/good.tumblr.com/followers', method='GET')
print data
Отлично работает с пользовательскими методами из tumblr API , которые требуют аутентификации OAuth.
Но происходит сбой, когда я пытаюсь вызвать любой метод Blog с аутентификацией OAuth (например, / последователи):
{"meta":{"status":401,"msg":"Not Authorized"},"response":[]}
За исключением одного. Если я использую имя своего блога в качестве параметра {base-hostname}, он работает без ошибок.
Weird. Как это возможно? Что-то не так с кодом?