是否可以使用服务帐户流访问Google Play Developer API?

时间:2013-12-18 17:00:22

标签: google-oauth

是否可以使用服务帐户流访问Google Play Developer API? 此处的文档(https://developers.google.com/android-publisher/authorization)仅提及OAuth 2.0 Web服务器流程。但目前还不清楚它是示例还是限制。

如果可能的话,提供一些工作示例链接会很棒。因为我无法通过“此开发者帐户不拥有应用程序”响应。

1 个答案:

答案 0 :(得分:0)

可能使用服务帐户流访问Google Play开发者API。


EPROTONOSUPPORT显示了如何使用service account emailp12 file使用服务帐户进行授权。
Official sample如下所示:

private static Credential authorizeWithServiceAccount(String serviceAccountEmail)
        throws GeneralSecurityException, IOException {
    log.info(String.format("Authorizing using Service Account: %s", serviceAccountEmail));
    // Build service account credential.
    GoogleCredential credential = new GoogleCredential.Builder()
            .setTransport(HTTP_TRANSPORT)
            .setJsonFactory(JSON_FACTORY)
            .setServiceAccountId(serviceAccountEmail)
            .setServiceAccountScopes(
                    Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER))
            .setServiceAccountPrivateKeyFromP12File(new File(SRC_RESOURCES_KEY_P12))
            .build();
    return credential;
}

AzimoLabs的人们写了一个relevant credential creating code,他们在其中使用此方法检索商店评论。他们还post他们的工具。


您还可以使用JSON密钥类型通过服务帐户授权:

private static Credential authorizeWithServiceAccount() throws IOException {
    log.info("Authorizing using Service Account");
    try (FileInputStream fileInputStream = new FileInputStream(JSON_PATH)) {
        return GoogleCredential.fromStream(fileInputStream, HTTP_TRANSPORT, JSON_FACTORY)
                .createScoped(Collections.singleton(AndroidPublisherScopes.ANDROIDPUBLISHER));
    }
}

可以找到更详细的说明open-sourced