Я пытаюсь, чтобы приложение Django (НЕ использует движок приложений Google) получало данные из Контактов Google с помощью API данных Контактов Google. Просмотр документации по аутентификации , а также Data API Python для клиента документы
Первый шаг (AuthSubRequest) для получения одноразового токена работает нормально. Следующий шаг (AuthSubSessionToken) - обновление одноразового токена до токена сеанса. Вызов API Python UpgradeToSessionToken () просто не работал для меня, он дал мне исключение NonAuthSubToken:
gd_client = gdata.contacts.service.ContactsService()
gd_client.auth_token = authsub_token
gd_client.UpgradeToSessionToken()
В качестве альтернативы я хочу, чтобы он работал, вручную создавая HTTP-запрос:
url = 'https://www.google.com/accounts/AuthSubSessionToken'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'AuthSub token=' + authsub_token,
'User-Agent': 'Python/2.6.1',
'Host': 'https://www.google.com',
'Accept': 'text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2',
'Connection': 'keep-alive',
}
req = urllib2.Request(url, None, headers)
response = urllib2.urlopen(req)
это дает мне другую ошибку:
Ошибка HTTP 302: HTTP-сервер вернул ошибку перенаправления, которая привела бы к бесконечному циклу. Последнее сообщение об ошибке 30x было: Временно перемещено
Что я здесь не так делаю? Буду признателен за помощь / совет / предложения с любым из методов, которые я пытаюсь использовать: вызов Python API (UpgradeToSessionToken) или создание HTTP-запроса вручную с помощью urllib2.