在 Adobe AEM 上集成 Google 表格 API
Integrate Google Sheets API on Adobe AEM
我正在尝试在 Adobe 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
我正在尝试在 Adobe 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