2013-08-21 15 views
6

śledzę tego przykładuPierwsze AccessTokenRefreshError: invalid_grant w Google API fro konta usługi

https://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py

credentials = SignedJwtAssertionCredentials(
     '[email protected]', 
     key, 
     scope='https://www.googleapis.com/auth/tasks') 
    http = httplib2.Http() 
    http = credentials.authorize(http) 

    service = build("tasks", "v1", http=http) 

    # List all the tasklists for the account. 
    lists = service.tasklists().list().execute(http=http) 
    pprint.pprint(lists) 

Problem jest, to działa czasami i ja dostaję list jako JSON i po programie jeszcze kilka uruchomiony czasami pojawia się błąd

File "/usr/local/lib/python2.7/site-packages/oauth2client/client.py", line 710, in _do_refresh_request 
    raise AccessTokenRefreshError(error_msg) 
oauth2client.client.AccessTokenRefreshError: invalid_grant 

Odpowiedz

0

Jestem interfejsem Google Drive, ale wykryłem ten sam błąd. W dokumencie Issue 160 znajduje się raport z ustawiania odpowiedniego czasu na komputerze lokalnym. Od czasu przejścia na Maca Mavericks przekonałem się, że muszę aktualizować mój system. Otrzymałem zgłoszony błąd, ustaw mój czas systemowy na bieżący i wyeliminowałem błąd.

0

Czy ten kod jest uruchamiany w środowisku maszyny wirtualnej lub piaskownicy? Jeśli tak, może to oznaczać, że zegar VM nie jest zsynchronizowany z komputerem głównym. Zobacz odpowiedź na podobne pytanie here.

Cierpiałem taki sam (frustrujące) problem i okazało się, że ponowne uruchomienie mój VM (zapewnienie czasu została zsynchronizowana do urządzenia hosta (lub przynajmniej ustawić do lokalnej strefy czasowej) problem został rozwiązany.

0

serwis OAuth jest silnie uzależniona od czasu, upewnij się, że klient korzysta z NTP lub innym razem mechanizm synchronizacji

test z curl -I https://docs.google.com/; data -u

Powinieneś zobaczyć tego samego dnia. (lub w ciągu, w ciągu kilku sekund) aby to zadziałało

Powiązane problemy