소스 검색

Merged in mk200789/django-hackathon-starter (pull request #27)

json response for instagram user's media + included in ionic app
David Leonard 10 년 전
부모
커밋
119e167d47

+ 2 - 0
angular/index.html

@@ -27,12 +27,14 @@
         <script src="scripts/controllers/githubUserController.js"></script>
         <script src="scripts/controllers/githubTopContributionsController.js"></script>
         <script src="scripts/controllers/steamSalesController.js"></script>
+        <script src="scripts/controllers/instagramUserController.js"></script>
 
         <!-- Factories -->
         <script src="scripts/factories/restAppFactory.js"></script>
         <script src="scripts/factories/githubUserFactory.js"></script>
         <script src="scripts/factories/githubTopContributionsFactory.js"></script>
         <script src="scripts/factories/steamSalesFactory.js"></script>
+        <script src="scripts/factories/instagramUserFactory.js"></script>
 
     </head>
 

+ 6 - 1
hackathon_starter/hackathon/scripts/instagram.py

@@ -65,4 +65,9 @@ class InstagramOauthClient(object):
 		data = content['data']
 		return data
 
-
+	def get_user_media(self, access_token):
+		user_media = 'https://api.instagram.com/v1/users/32833691/media/recent/?access_token='+access_token
+		req = requests.get(user_media)
+		content = json2.loads(req.content)
+		data = content['data']
+		return data

+ 0 - 1
hackathon_starter/hackathon/templates/hackathon/instagram.html

@@ -4,7 +4,6 @@
 	{% include 'hackathon/base.html' %}
 	<h1 class="text-center"> {{ title }}</h1> 
 	<br>
-	<div class="col-lg-12">
 		<div class="table-responsive">
 			<h2> #{{search_tag}} </h2>
 			<table class="table">

+ 1 - 0
hackathon_starter/hackathon/urls.py

@@ -20,5 +20,6 @@ urlpatterns = patterns('',
     url(r'^instagram/$', views.instagram, name='instagram'),
     url(r'^instagram_login/$', views.instagram_login, name='instagram_login'),
     url(r'^instagramUser/$', views.instagramUser, name='instagramUser'),
+    url(r'^instagramUserMedia/$', views.instagramUserMedia, name='instagramUserMedia'),
     url(r'^tumblr_login/$', views.tumblr_login, name='tumblr_login'),
 )

+ 8 - 1
hackathon_starter/hackathon/views.py

@@ -188,13 +188,20 @@ def instagram(request):
     return render(request, 'hackathon/instagram.html', context)
 
 def instagramUser(request):
-    '''Returns JSON response about a specific Instagram'''
+    ''' Returns JSON response about a specific Instagram User. '''
 
     user_id = User.objects.get(username='mk200789').id
     access_token = Profile.objects.get(user=user_id).oauth_secret
     parsedData = getInstagram.get_user_info(access_token)
     return JsonResponse({ 'data': parsedData })
 
+def instagramUserMedia(request):
+    ''' Returns JSON response about a specific Instagram User's Media. '''
+    user_id = User.objects.get(username='mk200789').id
+    access_token = Profile.objects.get(user=user_id).oauth_secret
+    parsedData = getInstagram.get_user_media(access_token)
+    return JsonResponse({'data': parsedData })
+
 
 ##################
 #  LINKED IN API #

+ 2 - 1
ionic/www/js/controllers.js

@@ -12,8 +12,9 @@ angular.module('starter.controllers', ['starter.services'])
     $scope.githubUserData = githubUser.get();
 })
 
-.controller('instagramUserCtrl', function($scope, instagramUser){
+.controller('instagramUserCtrl', function($scope, instagramUser, instagramUserMedia){
 	$scope.instagramUserData = instagramUser.get();
+	$scope.instagramUserMediaData = instagramUserMedia.get();
 })
 
 .controller('steamSalesCtrl', function($scope, steamSales){

+ 4 - 0
ionic/www/js/services.js

@@ -14,4 +14,8 @@ angular.module('starter.services', ['ngResource'])
 
 .factory('steamSales', function ($resource){
 	return $resource('http://127.0.0.1:8000/hackathon/steamDiscountedGames/');
+})
+
+.factory('instagramUserMedia', function ($resource){
+	return $resource('http://localhost:8000/hackathon/instagramUserMedia/');
 })

+ 4 - 0
ionic/www/templates/instagramUser.html

@@ -14,5 +14,9 @@
 			  <div class="col">Media: {{ data.counts.media }}</div>
     	</ion-item>
   
+
+      <img collection-repeat="data in instagramUserMediaData.data"
+        ng-src="{{data.images.thumbnail.url}}">
+    
   </ion-content>
 </ion-view>