所以我有一个来自 tumblr 的消费者密钥和消费者秘密,并且我有以下代码允许我进行 Oauth 身份验证,但我不知道如何通过 python 和/或 pytumblr 实际登录到我自己的 tumblr。成功使用 Oauth 后,我无法在我的 tumblr 上发帖。我应该通过 API 登录到我的 tumblr,还是只是通过 http 和 python 定期登录,然后使用 API?我相信旧的 tumblr API 自 2012 年 9 月以来就没有工作过,所以据我所知,这里的 python-tumblr 不再工作了。相反,我从这里使用 pytumblr 。
这是我的代码:
import urlparse
import oauth2
import pytumblr
REQUEST_TOKEN_URL = 'http://www.tumblr.com/oauth/request_token'
AUTHORIZATION_URL = 'http://www.tumblr.com/oauth/authorize'
ACCESS_TOKEN_URL = 'http://www.tumblr.com/oauth/access_token'
CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
def Test():
consumer = oauth2.Consumer(CONSUMER_KEY, CONSUMER_SECRET)
client = oauth2.Client(consumer)
resp, content = client.request(REQUEST_TOKEN_URL, "GET")
request_token = dict(urlparse.parse_qsl(content))
oauthToken = request_token['oauth_token']
oauthSecret = request_token['oauth_token_secret']
print "Request Token:\n"
print " - oauth_token = " + oauthToken + "\n"
print " - oauth_token_secret = " + oauthSecret + "\n"
pytumblrClient = pytumblr.TumblrRestClient(CONSUMER_KEY, CONSUMER_SECRET, oauthToken, oauthSecret)
response = pytumblrClient.create_text("mytumblr.tumblr.com", body="test")
print response
如您所见,我的 tumblr 没有密码可以发送到任何地方,并且没有任何文档告诉我将密码发送到哪里。运行代码后收到未经授权的响应:
{u'meta': {u'status': 401, u'msg': u'Not Authorized'}, u'response': []}
有没有办法使用 tumblr API 发布到我自己的 tumblr?