我正在关注本教程Hello Analytics API: Java quickstart for service accounts。代码工作正常。问题是下面的代码使用p12密钥文件谷歌只支持它们的向后兼容性,他们已经开始鼓励开发人员将JSon Key文件用于服务帐户。
// Construct a GoogleCredential object with the service account email
// and p12 file downloaded from the developer console.
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(SERVICE_ACCOUNT_EMAIL)
.setServiceAccountPrivateKeyFromP12File(new File(KEY_FILE_LOCATION))
.setServiceAccountScopes(AnalyticsScopes.all())
.build();
我搜索了高低不能找到将JSon密钥文件与Google API Java库一起使用的示例。我甚至检查了文档及其未列出的GoogleCredential.Builder,但我不确定该文档是否是最新的。我试图检查库中的代码但是我对Java很新,并且无法找到任何使用Google api java client
是否可以将Json密钥文件与Google API Java客户端库中的服务帐户一起使用?
答案 0 :(得分:1)
只需使用fromStream方法。
File jsonKey = new File(KEY_FILE);
InputStream inputStream = new FileInputStream(jsonKey);
GoogleCredential credential =
GoogleCredential.fromStream(inputStream, HTTP_TRANSPORT, JSON_FACTORY);