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.

Reply via email to