2012-02-02 7 views
5

Próbuję pobrać użytkownika z następującym kodem znajdującym się w gdata provisioning api documentation. Ja próbuje to dla django 1.3 aplikacji, uruchamianie gdata-2.0.16 w python2.7:"Niepewne żądania HTTP nie są dozwolone. Użyj HTTPS." podczas próby pobrania użytkownika przy użyciu biblioteki pythona 2.0.16

from gdata.apps import client 
from myapp import settings 
client = client.AppsClient(domain=settings.GOOGLE_ADMIN_DOMAIN) 
client.ClientLogin(email=settings.GOOGLE_ADMIN_EMAIL, password=settings.GOOGLE_ADMIN_PASSWORD, source='apps') 
user_account = client.RetrieveUser('user_name') 

Na prywatności, zmieniłem rzeczywistą nazwę użytkownika 'user_name', ale to ogólny sens kodu.

Gdy interpreter dotrze do ostatniej linii w kodzie powyżej, pojawia się następujący błąd:

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/usr/local/lib/python2.7/dist-packages/gdata/apps/client.py", line 182, in RetrieveNickname 
    return self.GetEntry(uri, desired_class=gdata.apps.data.NicknameEntry) 
    File "/usr/local/lib/python2.7/dist-packages/gdata/client.py", line 652, in get_entry 
    desired_class=desired_class, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/gdata/client.py", line 319, in request 
    RequestError) 
RequestError: Server responded with: 403, <HTML> 
<HEAD> 
<TITLE>Insecure HTTP requests not permitted. Use HTTPS.</TITLE> 
</HEAD> 
<BODY BGCOLOR="#FFFFFF" TEXT="#000000"> 
<H1>Insecure HTTP requests not permitted. Use HTTPS.</H1> 
<H2>Error 403</H2> 
</BODY> 
</HTML> 

Nie mogę znaleźć coś w dokumentacji na temat korzystania z protokołu HTTPS zamiast HTTP. czego mi brakuje?

Odpowiedz

8

Po utworzeniu obiektu klienta należy wykonać client.ssl = True. To spowoduje, że gdata api użyje bezpiecznego połączenia.

0

dodając linię po uwierzytelnieniu klienta pomaga client.ssl ​​= True.