문제

Google Contacts Data API를 사용하여 Google 연락처에서 데이터를 검색하는 Django 앱 (Google App Engine을 사용하지 않음)을 얻으려고합니다. 를 통과 인증 문서 만큼 잘 데이터 API Python 클라이언트 문서

일회용 토큰을 얻는 첫 번째 단계 (Authsubrequest)는 제대로 작동합니다. 다음 단계 (AuthsubsessionToken)는 한 번 사용 토큰을 세션 토큰으로 업그레이드합니다. Python API 호출 upgradetossessionToken ()은 단순히 나에게 효과가 없었습니다.

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 Call (upgradetossessionToken) 또는 urllib2를 사용하여 HTTP 요청을 수동으로 구성하는 방법 중 하나에 도움/조언/제안에 감사드립니다.

도움이 되었습니까?

해결책

2.0 문서에 따르면 여기 파이썬 예제 세트가 있습니다 ...

샘플 코드 실행

이 문서에 표시된 모든 샘플 코드를 포함하는 전체 작업 샘플 클라이언트는 디렉토리 아래 Python Client Library 배포에서 사용할 수 있습니다. samples/contacts/contacts_example.py.

샘플 클라이언트는 연락처 데이터 API의 사용을 보여주기 위해 연락처에서 여러 작업을 수행합니다.

바라건대 그것은 당신을 올바른 방향으로 가리킬 것입니다.

다른 팁

최근에 비슷한 문제가있었습니다. "Secure"를 "True"로 설정하여 고정되었습니다.

  next = 'http://www.coolcalendarsite.com/welcome.pyc'
  scope = 'http://www.google.com/calendar/feeds/'
  secure = True
  session = True
  calendar_service = gdata.calendar.service.CalendarService()

인증하는 4 가지 방법이 있습니다. AuthSub를 사용하는 것이 정말로 중요합니까? Authsub가 작동하지 않으면 다음을 고려하십시오. ClientLogin 접근하다. 나는 그것을 일하는 데 어려움이 없었다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top