在 Adob​​e AEM 上集成 Google 表格 API

Integrate Google Sheets API on Adobe AEM

我正在尝试在 Adob​​e AEM 上集成 Google Sheets API,我正在阅读文档,但我有一些与 Credential 对象的创建相关的问题 这是代码

    private Credential authorize(final NetHttpTransport netHttpTransport) throws GeneralSecurityException, IOException {

            if (jsonKeyObject == null || jsonKeyObject.isEmpty()) {
                throw new GeneralSecurityException("Could not create API Key Json Object");
            }

            // Load client secrets.
            GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(JSON_FACTORY, new StringReader(getAuthorizationJsonString()));

            // Build flow and trigger user authorization request.
            GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
                    netHttpTransport, JSON_FACTORY, clientSecrets, SCOPES)
                    .setDataStoreFactory(new MemoryDataStoreFactory())
                    .setAccessType("offline").build();

            return new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
        }

我的问题是,我可以使用不同的方式来创建 Credential 对象吗?我不想使用 LocalServerReceiver,也不想使用 Jetty 依赖项,因为我认为 AEM 上的 Dispatcher 模块会出现问题。这里的任何输入都会很棒。提前致谢。

我集成了 Google 支付通行证,为此我使用了 GoogleCredential class。

首先获取里面有私钥的服务账号 并使用下面的代码

JsonFactory jsonFactory = new GsonFactory();
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
GoogleCredential credentials = GoogleCredential.fromStream(getClass().getResourceAsStream("resources/sericeaccountinfo.json"), 
  restMethods.getHttpTransport(), 
                 jsonFactory)
                .createScoped(config.getScopes());

更多详情:https://developers.google.com/api-client-library/java/google-api-java-client/oauth2