Thanks.. But now I have a new error: --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- keyerror description:- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Environment:
Request Method: GET Request URL: http://127.0.0.1:8001/return/?oauth_token=2ec8R2X8d3EfXgcMSR8ZgRVw4HWOH7GbASPykNo&oauth_verifier=FlfW6P2NvSGwZGN6HqM5LwhIekedz1kSIOHNEIJbyzI Django Version: 1.2.7 Python Version: 2.6.7 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'tweety'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware') Traceback: File "/usr/local/lib/python2.6/site-packages/django/core/handlers/ base.py" in get_response 100. response = callback(request, *callback_args, **callback_kwargs) File "/home/lanku/tweet/tweety/views.py" in twitter_return 48. token = oauth2.Token(request.session['request_tok'], File "/usr/local/lib/python2.6/site-packages/django/contrib/sessions/ backends/base.py" in __getitem__ 46. return self._session[key] Exception Type: KeyError at /return/ Exception Value: 'request_tok' --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- I am trying to access the session variable named session['request_tok'].. but it gives keyerror... This is the code in my views.py file: ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- views.py:- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- def twitter_tweet(request): _consumer = oauth2.Consumer(CONSUMER_KEY, CONSUMER_SECRET) client = oauth2.Client(_consumer) resp, content = client.request(REQUEST_TOKEN_URL, 'GET') if resp['status'] != '200': raise Exception('Invalid response %s', resp['status']) request_token1 = dict(urlparse.parse_qsl(content)) request.session['request_tok'] = request_token1['oauth_token'] #dict(cgi.parse_qsl(content)) request.session['request_token_secret'] = request_token1['oauth_token_secret'] #print "Request Token:" #print " - oauth_token = %s" % request_token['oauth_token'] #print " - oauth_token_secret = %s" % request_token['oauth_token_secret'] #print # Redirect to Twitter so the user can authorize the application return HttpResponseRedirect(AUTHORIZATION_URL + '?oauth_token=' + request_token1['oauth_token']) # /return Called back by Twitter after the authorization def twitter_return(request): token = oauth2.Token(request.session['request_tok'], request.session['request_token_secret']) _consumer = oauth2.Consumer(CONSUMER_KEY, CONSUMER_SECRET) client = oauth2.Client(_consumer, token) resp, content = client.request(ACCESS_TOKEN_URL, 'POST') access_token = dict(urlparse.parse_qsl(content)) #print "Access Token:" #print " - oauth_token = %s" % access_token['oauth_token'] #print " - oauth_token_secret = %s" % access_token['oauth_token_secret'] #print token = oauth2.Token(access_token['oauth_token'], access_token['oauth_token_secret']) client = oauth2.Client(_consumer, token) resp, content = client.request(TWITTER_POST_STATUS, method='POST', body=urllib.urlencode( { 'status' : 'This was tweeted from a Python application' })) #print resp #print content return HttpResponse('Tweeted!') ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- On Dec 23, 11:31 pm, Daniel Roseman <[email protected]> wrote: > On Friday, 23 December 2011 17:17:50 UTC, lankesh87 wrote: > > > Hi, > > > I am trying to handle a callback url. Following is the code in my > > urls.py file: > > > -------------------------------------------------------------------------------------- > > > urls.py:- > > -------------------------------------------------------------------------------------- > > > from django.conf.urls.defaults import * > > > # Uncomment the next two lines to enable the admin: > > #from django.contrib import admin > > #admin.autodiscover() > > > urlpatterns = patterns('', > > # Example: > > (r'^tweet/', 'tweety.views.twitter_tweet'), > > > #in the next line i wish to handle the callback url:- > > (r'^return/(?P<qqq>\)', 'tweety.views.twitter_return'), > > > # Uncomment the admin/doc line below to enable admin > > documentation: > > #(r'^admin/doc/', include('django.contrib.admindocs.urls')), > > > # Uncomment the next line to enable the admin: > > #(r'^admin/', include(admin.site.urls)), > > ) > > > -------------------------------------------------------------------------------- > > > In my twitter app i have given callback url as: > > > "http://127.0.0.1:8001/return/" > > > but the actual url has some added parameters. Something like this: > > > "http://127.0.0.1/return/? > > oauth_token=SOME_VALUE&oauth_verifier=SOME_VALUE<http://127.0.0.1/return/?oauth_token=SOME_VALUE&oauth_verifier=SOME_V...>" > > > SOME_VALUE is alphanumeric. > > > Now all I need is how to handle this url in Regular Expression > > > Thanks in advance. > > As the documentation[1] clearly explains, GET parameters (those after the > ?) are not matched in the URLconf. Get them in the view, with request.GET. > > [1]:https://docs.djangoproject.com/en/1.3/topics/http/urls/#what-the-urlc... > --- > DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

