2013-05-31 7 views
0

Я совершенно не знаком с oauth, и я пытаюсь получить список блогов, которыми подчиняется пользователь.Как получить токен доступа с tumblr oauth

Ссылка на авторизацию дает ссылку на меня со страницей, в которой пользователю предлагается либо запретить, либо разрешить доступ (если я вручную вставляю ссылку в свой браузер.). Он перенаправляет на url, заканчивающийся на oauth_verifier = xxxx. Я копирую это в командной строке.

Однако я получаю ошибку 400 поднятый на линии 95.

Любая помощь очень ценится!

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'])

ответ

0

Один простой способ выяснить OAuth в Python и перейти на получение списка блогов является использование Temboo's OAuth оберток.

Temboo упрощает процесс OAuth для Tumblr, расчленяя его на два вызова:

InitializeOAuth - возвращает Tumblr URL авторизации, вы можете показать своим пользователям и иметь их предоставить приложению доступ к своей учетной записи Tumblr.

FinalizeOAuth - возвращает токены доступа, необходимые вашему приложению для аутентификации доступа к учетным записям Tumblr.

Вы можете поэкспериментировать с поддержкой Tumblr OAuth Temboo в своем браузере со ссылкой ниже, а затем сгенерировать исходный код, который необходимо использовать в вашем приложении с помощью Temboo Python SDK.

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

Вы можете увидеть пример того, как Temboo ручки OAuth для Facebook here.

Temboo также может помочь вам получить список блогов, которыми пользуется пользователь Tumblr - см. here.

(Полное раскрытие: я работаю в Temboo, поэтому дайте мне знать, если у вас есть какие-либо вопросы!)