2013-08-21 84 views
6

我下面這個例子獲得AccessTokenRefreshError:在谷歌API來回回服務帳戶invalid_grant

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) 

的問題是,它的工作原理有時也和我得到的名單作爲JSON和後運行的程序多幾個次我得到錯誤

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 

回答

0

我是界面谷歌驅動器,但發現相同的錯誤。在Issue 160中有一個在本地計算機上設置適當時間的報告。自從我升級到Mac Mavericks後,我發現我需要不斷更新我的系統時間。我收到了您報告的錯誤,將我的系統時間恢復爲最新狀態,然後我排除了錯誤。

0

您是在VM還是沙盒環境中運行此代碼?如果是這樣,那可能只是您的虛擬機時鐘未與您的主機同步。查看對類似問題here的回覆。

我遭遇了同樣的(沮喪)的問題,發現只是重新啓動我的虛擬機(確保時間同步到主機(或至少設置爲本地時區)解決了這一問題。

0

的Oauth服務高度依賴的時候,請確保您的客戶端使用NTP或其他時間同步機制

,捲曲-I https://docs.google.com/測試;日期-u

你應該看到相同的日期:(或whithin幾秒鐘)爲此工作

相關問題