Prechádzať zdrojové kódy

modify: tumblr logo brings to authorize page and redirect to tumblr view

mk200789 10 rokov pred
rodič
commit
0a3586b267

+ 25 - 8
hackathon_starter/hackathon/scripts/tumblr.py

@@ -8,22 +8,39 @@ import urlparse
 import oauth2
 
 blog_uri		= "http://api.tumblr.com/v2/blog/"
-user_uri		= "api.tumblr.com/v2/user/"
+user_uri		= "http://api.tumblr.com/v2/user/info"
+request_token_url   = 'http://www.tumblr.com/oauth/request_token'
+authorize_url       = 'http://www.tumblr.com/oauth/authorize'
+access_token_url    = 'http://www.tumblr.com/oauth/access_token'
 
-#https://www.tumblr.com/oauth/authorize?oauth_token=R9HvkeqKgPAXjor9V92Zg5BvxMm3kwx0kaGnawVHIU5h6dmOL0
-"""
-def getUserInfo():
+def simpleoauthurl(consumer_key, consumer_secret):
+	#set consumer
+	consumer = oauth2.Consumer(consumer_key, consumer_secret)
+
+	#getting token
+	client = oauth2.Client(consumer)
+	resp, content = client.request(request_token_url, "GET")
+	if int(resp['status']) != 200:
+		raise Exception("Invalid response %s." % resp['status'])
+
+	#parse content into dictionary
+	request_token = dict(urlparse.parse_qsl(content))
+	oauth_key = request_token['oauth_token']
+	oauth_secret = request_token['oauth_token_secret']
+
+	return authorize_url+"?oauth_token="+oauth_key+"&redirect_uri=http%3A%2F%2Flocalhost%3A8000/hackathon/tumblr"
+
+
+def getUserInfo(oauth_verifier):
 	''' Return user's information. '''
 	return "getUserInfo()"
-"""
+
 
 def getBlogInfo(user, consumer_key):
 	''' Return blogger's blog information.  '''
-	print consumer_key
 	blog_info = blog_uri + user +".tumblr.com/info?api_key="+consumer_key
 	req = requests.get(blog_info)
 	jsonlist = json.loads(req.content)
-	print jsonlist
 	
 	meta = jsonlist['meta']
 	response = jsonlist['response']
@@ -68,7 +85,7 @@ def getTaggedBlog(tag, consumer_key):
 	tagtext = []
 
 	for blog in body:
-		print "####"
+		#print "####"
 		for data in blog:
 			#post
 			if data == "body":

+ 1 - 1
hackathon_starter/hackathon/templates/hackathon/api_examples.html

@@ -7,7 +7,7 @@
 	    <div class="col-sm-4"><a href="http://127.0.0.1:8000/hackathon/github/"><img src="/static/img/github.png"></a></div>
 	    <div class="col-sm-4"><a href="http://127.0.0.1:8000/hackathon/steam/"><img src="/static/img/steam.png"></a></div>
 	    <div class="col-sm-4"><img src="/static/img/github.png"></div>
-	    <div class="col-sm-4"><a href="http://127.0.0.1:8000/hackathon/tumblr/"><img src="/static/img/tumblr.png"></a></div>
+	    <div class="col-sm-4"><a href={{tumblr_url}}><img src="/static/img/tumblr.png"></a></div>
 		<div class="col-sm-4"><a href="http://127.0.0.1:8000/hackathon/linkedin/"><img src="/static/img/linkedin.jpg"></a></div>
 
   	</div>

+ 4 - 1
hackathon_starter/hackathon/views.py

@@ -19,7 +19,8 @@ def test(request):
     return HttpResponse('meow')
 
 def api_examples(request):
-    context = {'title': 'API Examples Page'}
+    obtain_oauth_verifier = simpleoauthurl(settings.TUMBLR_CONSUMER_KEY, settings.TUMBLR_CONSUMER_SECRET)
+    context = {'title': 'API Examples Page', 'tumblr_url': obtain_oauth_verifier}
     return render(request, 'hackathon/api_examples.html', context)
 
 def register(request):
@@ -95,6 +96,8 @@ def github(request):
 
 def tumblr(request):
     ''' Tumblr api calls '''
+    #retrieve verifier via url link
+    oauth_verifier = request.GET.getlist('oauth_verifier')
     #get blogger twitterthecomic's blog information
     blog = getBlogInfo('twitterthecomic', settings.TUMBLR_CONSUMER_KEY)
     #get tags that was tagged along starbucks