2013-05-13 86 views
1

我正在使用fusion table API在我的表中插入/更新數據。上週我將我的API遷移到this sample中提到的新版本v1。但是現在,當我運行代碼時,顯示以下錯誤。Fusion Table API遷移

400 Bad Request 
{ 
    "error" : "unauthorized_client" 
} 
com.google.api.client.auth.oauth2.TokenResponseException: 400 Bad Request 
{ 
    "error" : "unauthorized_client" 
} 
    at com.google.api.client.auth.oauth2.TokenResponseException.from(TokenResponseException.java:105) 
    at com.google.api.client.auth.oauth2.TokenRequest.executeUnparsed(TokenRequest.java:303) 
    at com.google.api.client.auth.oauth2.TokenRequest.execute(TokenRequest.java:323) 
    at com.google.api.client.auth.oauth2.Credential.executeRefreshToken(Credential.java:607) 
    at com.google.api.client.auth.oauth2.Credential.refreshToken(Credential.java:526) 
    at com.google.api.client.auth.oauth2.Credential.intercept(Credential.java:287) 
    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:836) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:412) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:345) 
    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:463) 
    at com.prasanna.survey.pushapis.FusionPush.insertData(FusionPush.java:198) 
    at com.prasanna.survey.pushapis.FusionPush.main(FusionPush.java:96) 
Java Result: 1 

如何調試此錯誤?

回答

3

如果更改應用程序的client_id,則通常會發生此錯誤。

原因是,您已經擁有基於舊client_id的Fusion API的訪問令牌。當您使用新的client_id請求刷新令牌(正如您可以看到發生在堆棧跟蹤中)時,您會得到非常無益的錯誤消息。

處理此問題的最簡單方法是清除系統中的現有憑證,以便它必須接收乾淨的訪問令牌。您可以使用Google API Java客戶端以編程方式執行此操作,也可以從系統中刪除該文件。在我的Ubuntu機器上,它位於~/.credentials/<api-name>.json

+0

謝謝..它的作品..! – mpsbhat 2013-05-14 09:22:39