1
我需要使用Google Drive API從我的Java應用程序插入並讀取Google雲端硬盤中的文件。我使用服務帳戶。使用服務帳戶在Google雲端硬盤中插入文檔時出現錯誤500
我在谷歌API控制檯創建了一個項目,啓用了「驅動器API」服務,創造了一個新的服務帳戶,並使用我的應用程序下載的私鑰:
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(this.serviceEmail)
.setServiceAccountScopes(DriveScopes.DRIVE)
.setServiceAccountPrivateKeyFromP12File(new java.io.File(this.privateKeyFilePath))
.build();
然後我的硬盤服務被實例化爲:
Drive driveService = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, null)
.setHttpRequestInitializer(credential)
.build();
這工作正常,我可以插入,共享,讀取Google雲端硬盤中的文件。
我的問題是,我在我的Google API控制檯中創建了第二個項目,做了相同的步驟,但無法使其工作。我的2個項目看上去是一樣的,但與第二,我一直有一個錯誤響應,當我嘗試插入一個新的文檔:
com.google.api.client.http.HttpResponseException: 500 Internal Server Error
{
"error": {
"errors": [
{
"domain": "global",
"reason": "internalError",
"message": "Internal Error"
}
],
"code": 500,
"message": "Internal Error"
}
}
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:978)
at com.google.api.client.googleapis.media.MediaHttpUploader.upload(MediaHttpUploader.java:237)
at com.google.api.services.drive.Drive$Files$Insert.executeUnparsed(Drive.java:309)
at com.google.api.services.drive.Drive$Files$Insert.execute(Drive.java:331)
的第一個項目已創建4個月前,而第二(不wrok)已經創建了這些天。
如何獲得有關此錯誤的更多詳細信息?什麼會導致這個問題?