Я пытаюсь получить токен сеанса, чтобы использовать API Календаря Google, используя библиотеку Python. Я использую Django 1.2.1 и Python 2.7. Эта страница в основном имеет ссылку «Войти в Google Calendar» (см. Ниже переменную auth_url), которая запрашивает одноразовый токен. Из того, что я могу сказать, токен одноразового использования выглядит именно так, как и ожидалось (читай: никаких сообщений об ошибках от Google). Но затем, когда я обновляюсь до маркера сеанса, я получаю ошибку NonAuthSubToken. Есть идеи? Вот мой код
def get_auth_url():
next = SITE_DOMAIN + '/job/events'
scope = 'https://www.google.com/calendar/feeds/'
secure = True
session = True
calendar_service = gdata.calendar.service.CalendarService()
return calendar_service.GenerateAuthSubURL(next, scope, secure, session)
@login_required
def get_events(request):
auth_url = get_auth_url()
if 'token' in request.GET:
f = open('rsa.pem')
rsa_key = f.read()
f.close()
single_use_token = gdata.auth.extract_auth_sub_token_from_url(SITE_DOMAIN + request.get_full_path(), rsa_key=rsa_key)
calendar_service = gdata.calendar.service.CalendarService()
calendar_service.auth_token = str(single_use_token)
calendar_service.UpgradeToSessionToken()
return render_to_response('getevents.html', {'useremail': request.user.email.replace('@', '%40'),'auth_url': auth_url}, context_instance=RequestContext(request))