所以我有一个用户密钥和tumblr的使用者秘密,我有下面的代码允许我进行Oauth身份验证,但是我不知道如何通过python和/或pytumblr登录到我自己的tumblr。在成功使用Oauth之后,我无法将其发布到我的tumblr。我应该通过API登录到我的tumblr,还是通过python定期登录,然后使用API呢?我相信,自2012年9月以来,旧的tumblr API就不再起作用了,因此,据我所知,这里的python已经不再工作了。相反,我使用的是来自这里的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呢?
发布于 2016-05-31 14:16:14
tl;博士这个解决方案指示用户检索console.py生成的oauth令牌,并对令牌值进行硬编码,而不是以编程方式检索它们。
注意:我确信这个解决方法在某种程度上违反了oauth的整个原则,但我不明白为什么原始方法不能工作。非常感谢比我更有知识的人提供的关于- 1、为什么这个解决方法不理想的输入。2.如何修复原始方法,这样我就不必这样做了。
解决方案:
希望这能帮到别人!
https://stackoverflow.com/questions/16517965
复制相似问题