如何使用tumblr oauth获取访问令牌

时间:2013-05-31 14:45:30

标签: python oauth tumblr

我是oauth的新手,我正在尝试获取用户关注的博客列表。

这产生的授权链接将我链接到一个页面,提示用户拒绝或允许访问(如果我手动将链接粘贴到我的浏览器中)。它重定向到以oauth_verifier = xxxx结尾的URL。我将其复制到命令行中。

但是,我在第95行收到错误400.

非常感谢任何帮助!

 69     import oauth2 as oauth
 70     import urlparse
 71 
 72     url = "http://www.tumblr.com/oauth"
 73     request_token_url = '%s/request_token' % url
 74     authorize_url = '%s/authorize/' % url
 75     access_token_url = '%s/access_token/' % url
 76 
 77     consumer = oauth.Consumer(key=oauth_key,secret=oauth_secret)
 78     client = oauth.Client(consumer)
 79     response, content = client.request(request_token_url, 'GET')
 80     if response['status'] != '200':
 81         raise Exception('Invalid response: %s' % response['status'])
 82 
 83     request_token = dict(urlparse.parse_qsl(content))
 84     authorize_link = '%s?oauth_token=%s' % 
 85     print "Go to: " , authorize_link,"\n"
 86     oauth_verifier = raw_input("What is the oauth_verifier?")
 87 
 88     token = oauth.Token(request_token['oauth_token'], request_token['oauth_token_secret'])
 89     token.set_verifier(oauth_verifier)
 90     client = oauth.Client(consumer, token)
 91 
 92     print "token: ",token,"\n"
 93     response, content = client.request(access_token_url, "POST")
 94 
 95     if response['status']!='200':
 96         raise Exception('Invalid response %s' %response['status'])
 97 

(authorize_url,request_token [ '组oauth_token'])

1 个答案:

答案 0 :(得分:0)

通过使用Temboo's OAuth包装器,在Python中找出OAuth并继续获取博客列表的一种简单方法。

Temboo通过将其分为两个调用来简化Tumblr的OAuth流程:

InitializeOAuth - 返回您可以向用户显示的Tumblr授权网址,让他们授予您的应用访问其Tumblr帐户的权限。

FinalizeOAuth - 返回您的应用对Tumblr帐户进行身份验证访问所需的访问权限。

您可以通过以下链接在浏览器中体验Temboo的Tumblr OAuth支持,然后使用Temboo Python SDK生成在您的应用中使用此行为所需的源代码。

https://www.temboo.com/library/Library/Tumblr/OAuth/

您可以看到Temboo如何为Facebook here处理OAuth的示例。

Temboo还可以帮助您获取Tumblr用户正在关注的博客列表 - 请参阅here

(完全披露:我在Temboo工作,如果您有任何问题请告诉我!)