我正在嘗試編寫一個將Google文檔寫入Google雲端硬盤的AppEngine應用,並將其放入一組特定的文件夾並設置訪問權限。我已經與舊的DocsList API一起工作,但由於剛剛被棄用,我決定更新我的代碼(並且我還有一些額外的功能可以添加)。Google雲端硬盤服務帳戶返回403使用限制
我正面臨的問題是:當我使用服務帳戶並嘗試模擬特定用戶時,即使我沒有用完我的任何配額,但仍會使用usageLimits。
這裏是我使用的代碼:
GoogleCredential credentials = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("xxxxxxxxxxgserviceaccount.com")
.setServiceAccountScopes(DriveScopes.DRIVE)
.setServiceAccountPrivateKeyFromP12File(
new java.io.File("xxxx-privatekey.p12"))
.setServiceAccountUser("[email protected]").build();
我不是使用這些憑據來啓動我的Drive對象:
Drive d = Drive.builder(httpTransport, jsonFactory)
.setHttpRequestInitializer(credentials)
.setJsonHttpRequestInitializer(new JsonHttpRequestInitializer() {
@Override
public void initialize(JsonHttpRequest request) {
DriveRequest driveRequest = (DriveRequest) request;
driveRequest.setPrettyPrint(true);
}
}).setApplicationName("MYAPPNAME").build();
BTW:我一直在使用新的驅動器試圖(.. ..),但不管我嘗試什麼都不行。保持拋出內部方法沒有找到的錯誤!
回到這個問題:。 當我不是使用 'D' 調用類似.files()獲得( 「SOMEFILEID」)執行()我得到一個403
{ "code" : 403,
"errors" : [ {
"domain" : "usageLimits",
"message" : "Daily Limit Exceeded. Please sign up",
"reason" : "dailyLimitExceededUnreg",
"extendedHelp" : "https://code.google.com/apis/console"
} ],
"message" : "Daily Limit Exceeded. Please sign up"
}
我可以」弄清楚爲什麼這不起作用。我整天都在網上看,但找不到合適的答案。非常感謝一些幫助。
可能的重複:http://stackoverflow.com/questions/10323579/google-drive-sdk-java-sample-not-working –
我檢查了...這是一個客戶端應用程序。我遇到了服務帳戶,服務器端的問題。但是再次經歷這些問題......誰知道,這可能會奏效。 –