def twitter_authenticated(request): # Step 1. Use the request token in the session to build a new client. token = oauth.Token(request.session['request_token']['oauth_token'], request.session['request_token']['oauth_token_secret']) client = oauth.Client(consumer, token) # Step 2. Request the authorized access token from Twitter. resp, content = client.request(access_token_url, "GET") if resp['status'] != '200': print content raise Exception("Invalid response from Twitter.") """ This is what you'll get back from Twitter. Note that it includes the user's user_id and screen_name. { 'oauth_token_secret': 'IcJXPiJh8be3BjDWW50uCY31chyhsMHEhqJVsphC3M', 'user_id': '120889797', 'oauth_token': '120889797-H5zNnM3qE0iFoTTpNEHIz3noL9FKzXiOxwtnyVOD', 'screen_name': 'heyismysiteup' } """ access_token = dict(cgi.parse_qsl(content)) # Step 3. Lookup the user or create them if they don't exist. try: user = User.objects.get(username=access_token['screen_name']) except User.DoesNotExist: # When creating the user I just use their [email protected] # for their email and the oauth_token_secret for their password. # These two things will likely never be used. Alternatively, you # can prompt them for their email here. Either way, the password # should never be used. user = User.objects.create_user( access_token['screen_name'], '*****@*****.**' % access_token['screen_name'], access_token['oauth_token_secret']) # if the user does not have a profile, lets create it if not user.profile_set.count(): # Save our permanent token and secret for later. profile = Profile() # update profile info profile.user = user profile.oauth_token = access_token['oauth_token'] profile.oauth_secret = access_token['oauth_token_secret'] profile.save() # Authenticate the user and log them in using Django's pre-built # functions for these things. user = authenticate(username=access_token['screen_name'], password=access_token['oauth_token_secret']) if user is not None: login(request, user) return HttpResponseRedirect(reverse('grade:talks'))
def setUp(self): data_json = open("public/json/data.json", "r").read() self.json = simplejson.loads(data_json) self.factory = RequestFactory() # we need an user user = User.objects.create_user('gradefisl', '*****@*****.**', 'QZAx8IwvwpLOHGNDOTrIhSO3E5KyeOtb9UIrqJ9nyM') profile = Profile() profile.user = user profile.oauth_token = '324585531-Q1syPHxVC8X0ausLadVHDnDhzXRxx0z26lRjuHBm' profile.oauth_secret = 'QZAx8IwvwpLOHGNDOTrIhSO3E5KyeOtb9UIrqJ9nyM' profile.save()
def setUp(self): data_json = open("public/json/data.json", "r").read() self.json = simplejson.loads(data_json) self.factory = RequestFactory() # we need an user user = User.objects.create_user( 'gradefisl', '*****@*****.**', 'QZAx8IwvwpLOHGNDOTrIhSO3E5KyeOtb9UIrqJ9nyM') profile = Profile() profile.user = user profile.oauth_token = '324585531-Q1syPHxVC8X0ausLadVHDnDhzXRxx0z26lRjuHBm' profile.oauth_secret = 'QZAx8IwvwpLOHGNDOTrIhSO3E5KyeOtb9UIrqJ9nyM' profile.save()