def init_facebook(request): """Sets up the request specific Facebook and User instance""" facebook = Facebook() user = None friendslist = {} randomfriends = {} if u'signed_request' in request.POST: print 'POST request from FB with signed_request' facebook.load_signed_request(request.POST['signed_request']) #request.META['REQUEST_METHOD'] = u'GET' elif 'u' in request.COOKIES: facebook.load_signed_request(request.COOKIES['u']) # try to load or create a user object # load from db and update access_token if facebook.user_id: try: user = User.objects.get(user_id=facebook.user_id) except User.DoesNotExist: pass if user: print 'User found in db' if facebook.access_token and \ facebook.access_token != user.access_token: user.access_token = facebook.access_token user.save() if not facebook.access_token: facebook.access_token = user.access_token # if user.dirty: # user.refresh_data() #get friendslist try: # me = {} me = facebook.api(u'/me', {u'fields': _USER_FIELDS}) friends = [auser for auser in me[u'friends'][u'data']] i=0 for friend in friends: uid=friend[u'id'] fn=friend[u'name'] frn = User(user_id=uid, first_name=fn) friendslist[i]=frn i=i+1 randomfriends = select_random(friendslist, 10) except KeyError, ex: pass # ignore if can't get the minimum fields print 'printing user = '******'/me', {u'fields': _USER_FIELDS}) try: # this should be a list of friends using this app friends = [auser for auser in me[u'friends'][u'data']] friendsstr =','.join([user[u'id'] for user in me[u'friends'][u'data']]) i=0 for friend in friends: uid=friend[u'id'] fn=friend[u'name'] frn = User(user_id=uid, first_name=fn) friendslist[i]=frn i=i+1 randomfriends = select_random(friendslist, 10) thename = me[u'name'] namelist = thename.split(' ') fname='' lname ='' if (len(namelist)) > 1: fname = namelist[0] lname = namelist[1] else: fname = thename print 'first name ',fname print 'last name ',lname user = User( user_id=facebook.user_id, friends=friendsstr, access_token=facebook.access_token, name=me[u'name'], first_name = fname, last_name = lname, email=me.get(u'email'), picture=me[u'picture']) user.save() except KeyError, ex: pass # ignore if can't get the minimum fields
def init_facebook(request): """Sets up the request specific Facebook and User instance""" facebook = Facebook() user = None friendslist = {} randomfriends = {} if u'signed_request' in request.POST: print 'POST request from FB with signed_request' facebook.load_signed_request(request.POST['signed_request']) #request.META['REQUEST_METHOD'] = u'GET' elif 'u' in request.COOKIES: facebook.load_signed_request(request.COOKIES['u']) # try to load or create a user object # load from db and update access_token if facebook.user_id: try: user = User.objects.get(user_id=facebook.user_id) except User.DoesNotExist: pass if user: print 'User found in db' if facebook.access_token and \ facebook.access_token != user.access_token: user.access_token = facebook.access_token user.save() if not facebook.access_token: facebook.access_token = user.access_token # if user.dirty: # user.refresh_data() #get friendslist try: # me = {} me = facebook.api(u'/me', {u'fields': _USER_FIELDS}) friends = [auser for auser in me[u'friends'][u'data']] i = 0 for friend in friends: uid = friend[u'id'] fn = friend[u'name'] frn = User(user_id=uid, first_name=fn) friendslist[i] = frn i = i + 1 randomfriends = select_random(friendslist, 10) except KeyError, ex: pass # ignore if can't get the minimum fields print 'printing user = '******'/me', {u'fields': _USER_FIELDS}) try: # this should be a list of friends using this app friends = [auser for auser in me[u'friends'][u'data']] friendsstr = ','.join( [user[u'id'] for user in me[u'friends'][u'data']]) i = 0 for friend in friends: uid = friend[u'id'] fn = friend[u'name'] frn = User(user_id=uid, first_name=fn) friendslist[i] = frn i = i + 1 randomfriends = select_random(friendslist, 10) thename = me[u'name'] namelist = thename.split(' ') fname = '' lname = '' if (len(namelist)) > 1: fname = namelist[0] lname = namelist[1] else: fname = thename print 'first name ', fname print 'last name ', lname user = User(user_id=facebook.user_id, friends=friendsstr, access_token=facebook.access_token, name=me[u'name'], first_name=fname, last_name=lname, email=me.get(u'email'), picture=me[u'picture']) user.save() except KeyError, ex: pass # ignore if can't get the minimum fields