【问题标题】:Service account with Json key file带有 Json 密钥文件的服务帐户
【发布时间】:2017-09-29 14:56:56
【问题描述】:

我正在关注本教程Hello Analytics API: Java quickstart for service accounts。代码工作正常。问题是下面的代码使用的是 p12 密钥文件 Google 只支持它们以实现向后兼容性,他们已经开始鼓励开发人员将 JSon 密钥文件用于服务帐户。

// 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 客户端库中的服务帐户一起使用?

【问题讨论】:

    标签: java google-api google-oauth google-api-java-client service-accounts


    【解决方案1】:

    只需使用 fromStream 方法。

    File jsonKey = new File(KEY_FILE);
    InputStream inputStream = new FileInputStream(jsonKey);
    GoogleCredential credential =
        GoogleCredential.fromStream(inputStream, HTTP_TRANSPORT, JSON_FACTORY);
    

    【讨论】:

    • 我不敢相信我花了多长时间才找到这个...谢谢
    猜你喜欢
    • 2016-06-26
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多