2011-09-21 1 views
5

OAuth Token을 사용하려고합니다. 사용자 캘린더에 액세스하기 위해 django-social-auth에서 가져옵니다. 그래서 장고 - 사회 - 인증 구성Google 데이터 api (캘린더)에서 django-social-auth의 OAuth 액세스 토큰 사용

나는 설정 :

{u'access_token': u'oauth_token_secret=vvvv&oauth_token=xxxx'} 

:

GOOGLE_CONSUMER_KEY = 'anonymous' 
GOOGLE_CONSUMER_SECRET = 'anonymous' 
GOOGLE_OAUTH_EXTRA_SCOPE = ['https://www.google.com/calendar/feeds/'] 

사용자가 구글에서 돌아 오면,이 같은 lookes 데이터베이스에 항목을 얻을 나는 이런 식으로 뭔가를 할 때하지만 지금은 :

import gdata.calendar.client 

client = gdata.calendar.client.CalendarClient() 
client.auth_token = gdata.gauth.OAuthHmacToken('anonymous', 'anonymous', 'xxxx', 'vvvv', gdata.gauth.ACCESS_TOKEN) 

client.GetOwnCalendarsFeed() 

나는 항상 얻을 :

gdata.client.Unauthorized: Unauthorized - Server responded with: 401 
<HEAD> 
<TITLE>Token invalid - Invalid AuthSub token.</TITLE> 
</HEAD> 

무엇이 여기에 있습니까?

+1

당신은 OAuth를 또는으로 OAuth2를 사용하고 있습니까? –

+0

나는 똑같은 문제가있다. 날 놀리는 거. 나는 OAuth를 사용하고 있으며 등록 된 키뿐만 아니라 익명으로 시도했다. 내 케이스 토큰에 – Tony

답변

0

할렐루야! Django-social-auth는 이스케이프 된 슬래시 (% 2F)로 액세스 토큰을 반환합니다. 그걸 "/"로 대체하면 나를 위해 일했습니다.

HTH

3

이 나를 위해 작동합니다

from social_auth.models import UserSocialAuth 

def do_something_with_tokens(request): 
    tokens = UserSocialAuth.get_social_auth_for_user(request.user).get().tokens 
    ... 
+0

그냥 비어 있습니다. 확실하지 않은 이유는 .... – CIF