【发布时间】:2017-04-14 02:57:28
【问题描述】:
我想使用 Java Google Drive API。 我试过这段代码:
public Drive getDriveService() throws GeneralSecurityException, IOException, URISyntaxException
{
HttpTransport httpTransport = new NetHttpTransport();
JacksonFactory JSON_FACTORY = new JacksonFactory();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("sonoratestw-226@sonora-project.iam.gserviceaccount.com")
.setServiceAccountPrivateKeyFromP12File(new java.io.File("C:\\buffer\\sonora project-3256770463ed.p12"))
.setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
.setServiceAccountUser("sonoratestw@gmail.com")
.build();
Drive service = new Drive.Builder(httpTransport, JSON_FACTORY, null)
.setApplicationName("FileListAccessProject")
.setHttpRequestInitializer(credential).build();
return service;
}
但我收到此错误:
An error occurred: com.google.api.client.auth.oauth2.TokenResponseException: 401 Unauthorized
我使用这个配置:
你能告诉我如何解决这个问题吗?
【问题讨论】:
-
我认为您不能使用 setServiceAccountUser,除非它是域管理员帐户,并且您已将服务帐户添加到管理员帐户,并且相关用户也是管理员帐户的用户。跨度>
-
你能给出它抛出的总错误和异常吗?
-
您找到解决方案了吗?请提供您的答案。
标签: java google-drive-api